我通过以下方式在本地启动脚本:
sudo python run.py remote
这个脚本碰巧也打开了一个子进程(如果这很重要的话)
^{pr2}$
我想知道如何在SSH进入时终止这个脚本。在
我知道我可以:
sudo pkill -f "python run.py remote"
或使用:
ps -f -C python
找到进程ID并以此方式终止它。在
然而,这些都不能正常地终止进程,我希望能够触发CTRL/cmdc的请求来注册一个exit命令(我在关闭时做了很多事情,当进程被简单地终止时不会触发这些操作)。在
谢谢你!在
Tags:
您可以使用signals与进程通信。如果您想模拟CTRL-C信号是SIGINT(您可以用
kill -INT
和进程id来提高它)。您还可以修改SIGTERM
的行为,这将使您的程序在更广泛的情况下干净地关闭。在您应该使用“信号”:
http://docs.python.org/2/library/signal.html
示例:
然后在终端:
^{pr2}$如果脚本在当前shell中处于活动状态,则使用ctrl+c
http://en.wikipedia.org/wiki/Unix_signal
这也可能有用:
How do you create a daemon in Python?
相关问题 更多 >
编程相关推荐