我有一个在 ipython 中运行的 cpu 密集型脚本,需要几天才能完成。这些天我一直在使用我的计算机,理想情况下,我希望能够使用一些 ipython 快捷方式(类似于 ctrl+c 或 ctrl+z)暂停此脚本,以暂时收回全部计算能力。有什么办法可以做到这一点吗?
我在 Ubuntu 16.04 的终端中直接运行 IPython。
谢谢!
最佳答案
看看 kill 和 signal。
假设您在“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 是个好主意。
关于python - 使用 shell 命令暂停 IPython 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48119806/