如何将命令发送到python脚本?

时间:2014-07-12 20:56:18

标签: python

我有一个通过nohup在后台运行的python脚本 这是一个报警系统。运行脚本后,它会检查是否检测到动作。 现在我遇到了如何禁用闹钟的问题 你能帮我找一个发送命令来禁用/杀死正在运行的脚本的好方法吗?

快速而肮脏的方法是:
检查txt文件内容:如果我想关闭脚本,我修改了txt。

类似的东西:

if txt content is "disable":
quit 

我是python的新手,也许你可以帮助我。

2 个答案:

答案 0 :(得分:1)

如果您正在使用linux / unix / macos,则可以从命令行终止脚本

$ ps aux | grep python
nate     16210  0.2  0.0  20156  5176 pts/2    S+   17:02   0:00 python3
nate     16215  0.0  0.0   8044   932 pts/1    S+   17:02   0:00 grep python

第二个字段是正在运行的进程的PID,使用kill命令将其终止:

$ kill 16210
$ ps aux | grep python
nate     16220  0.0  0.0   8044   932 pts/1    S+   17:02   0:00 grep python

要自动获取pid,可以将其添加到python脚本的顶部:

import os
pid = os.getpid()
with open('pid', 'w') as procfile:
    procfile.write(pid)

现在,您可以使用一行bash获取该pid:

kill -TERM $(cat pid)

pid替换为文件pid

的位置

答案 1 :(得分:0)

if os.path.exists(os.path.expanduser("~/disable_alarm.txt")):
     #then dont sound alarm

当你想要它被禁用时,只需将文件放在你的主目录中......