不使用计算机时运行python脚本?

时间:2017-02-13 19:43:01

标签: python bash macos

我最近进入了机器学习。我正在运行一个对我的处理器很重的pythonscript。我的第一个想法是设置一个在后台运行的cron-job然后在python取消工作,如果时间是早上06:00到07:00之间。 (理想情况下,这项工作只能在某些阶段取消。)

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

但是后来我想,有没有想过,无论是在python还是通过shell来运行脚本如果没有使用计算机?是闲着还是那样?

2 个答案:

答案 0 :(得分:2)

与其他进程相比,使程序以较低优先级运行的标准方法是使用nice命令:

nice -n 20 ./train.sh

该命令将一直运行,但调度程序将为其提供尽可能低的优先级,只有在没有其他任何操作时才有效地为其提供CPU时间。

但请注意,nice只会使其他公主的过程变得更好(因此也就是名称)。如果没有其他进程在争夺CPU时间,那么CPU耗尽的进程将利用100%的可用内核(并加热机器),即使在最低优先级时也是如此。

答案 1 :(得分: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完成剩下的工作,确定你的计算机何时空闲。