2017-02-13 3 views
0

Я недавно попал в машинное обучение. Я запускаю pythonscript, который сильно влияет на мой процессор. Моя первая идея состояла в том, чтобы настроить работу cron, которая выполнялась в фоновом режиме, а затем на python отменить работу, если время между 06:00 и 07:00 утра. (Работа в идеале должен быть отменена только на определенных этапах.)Запустить сценарий python, когда компьютер не используется?

0 1 * * * cd ~/web/im2txt/im2txt && ./train.sh >/Users/kristoffer/Desktop/train.py 2>/Users/kristoffer/Desktop/train.log 

Но потом меня думать, есть как-нибудь, либо в питоне или через командную оболочку для запуска сценария, если не используется компьютер? Является ли в праздности или что-то в этом роде?

ответ

2

xscreensaver может запустить любую программу, указанную в файле конфигурации, т.е .:

  programs: \ 
        qix -root       \n\ 
        ico -r -faces -sleep 1 -obj ico \n\ 
        xdaliclock -builtin2 -root   \n\ 
        xv -root -rmode 5 image.gif -quit \n 

Затем, вы можете добавить свои собственные, и пусть XScreenSaver сделает все остальное определить, когда ваш компьютер находится в режиме ожидания.

+0

Хорошая идея! (Pun предназначался :)) – user4815162342

+0

Вопрос в том, почему запуск программы с низким приоритетом все время, когда нет другого конкурирующего процесса, потому что вы его не используете –

+0

Является ли это родным в osx? – Himmators

2

Стандартный способ сделать вашу программу работать с более низким приоритетом по сравнению с другими процессами с использованием nice команды:

nice -n 20 ./train.sh 

Команда будет работать все время, но планировщик даст наименьший возможный приоритет , эффективно давая ему время процессора только тогда, когда больше нечего делать.

Обратите внимание, что nice сделает процесс приятным (отсюда и название) другим принцессам. Если никакие другие процессы не конкурируют за процессорное время, процессорный голодный процесс будет использовать 100% доступных ядер (и нагревать машину), даже если он имеет наименьший приоритет.

+0

приятно! однако, по-прежнему, похоже, очень сильно подталкивает мой процессор, истощая ловушку и превращая мой ноутбук в печь, поэтому на самом деле не применим для этого сценария. – Himmators

+0

Да, 'nice' только сделает процесс приятным (отсюда и название) другим принцессам. Если никакие другие процессы не конкурируют за процессорное время, даже самый низкоприоритетный гололедный процессор, потребляющий процессор, будет весело использовать 100% доступных ядер, тем самым нагревая машину. – user4815162342

Смежные вопросы