我有一个通过nohup在后台运行的python脚本 这是一个报警系统。运行脚本后,它会检查是否检测到动作。 现在我遇到了如何禁用闹钟的问题 你能帮我找一个发送命令来禁用/杀死正在运行的脚本的好方法吗?
快速而肮脏的方法是:
检查txt文件内容:如果我想关闭脚本,我修改了txt。
类似的东西:
if txt content is "disable":
quit
我是python的新手,也许你可以帮助我。
答案 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
当你想要它被禁用时,只需将文件放在你的主目录中......