python - 使用 shell 命令暂停 IPython 脚本?

标签 python shell unix ipython

我有一个在 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/

相关文章:

python Django 迁移问题

python - Django channel 的持续数据流

linux - 无法使用 awk 提取 fastboot 命令

shell - 我正在尝试通过ssh-入服务器列出(ls)文件夹。是否有任何命令将输出存储为数组?

linux - 脚本有两个具有不同 PID 的正在运行的进程(总是相差 4)

python - 仅打印所需的列

python - 无法找到序号 241

在 C 中更改当前进程的优先级

linux - 如何使用正则表达式进行 grep 以消除此堆栈跟踪?

C : write() fails while writing to a RAW disk after specific size limit reached