我有一个cpu密集脚本,我在ipython中运行,需要几天才能完成。由于我现在正在使用我的计算机,所以我希望能够使用一些ipython快捷方式(ctrl + c或ctrl + z的行)来暂停此脚本,以暂时恢复完整的计算能力。有什么办法可以做到吗?
我正在Ubuntu 16.04的终端中直接运行IPython。
谢谢!
答案 0 :(得分:1)
看看杀戮和信号。
假设你在“IPython”中运行了这个
import time
i = 0
while True:
print('Printing: ', i)
time.sleep(0.5)
i += 1
现在打开一个新的终端窗口并输入:
kill -SIGSTOP `pgrep ipython`
如果您检查IPython终端,它已停止打印。
如果输入:
kill -SIGCONT `pgrep ipython`
您的程序将在停止的位置继续。
编辑:请注意 pgrep ipython 周围的字符不是单引号;他们被称为“反叛”。您可以找到如何为系统/键盘布局/等键入它们。
编辑:该命令停止并继续所有IPython进程。实际上,如果要停止/继续特定进程,则必须为其提供PID。将你的程序放在一个文件中并为此设置grep是个好主意。