我有一个名为 PirateRadio.py 的脚本,我正在为其编写脚本。我需要终止并重新加载该脚本。可能使用相同的 PID。我以为 SIGHUP 是肯定的。当我运行#pkill -1 PirateRadio.py
什么都没发生。收音机继续播放。好的,我试过了,#pkill -9 PirateRadio.py
仍然没有反应,收音机继续播放。
ps aux | grep Pir
root 987 45.7 10.8 1266088 433868 ? Sl Mar15 2728:13 /root/PirateRadio.py
root 24924 0.0 0.0 4388 800 pts/0 S+ 11:13 0:00 grep PirateRadio.py
所以我尝试了一下#kill -s 1 987
,但什么也没发生。
#kill -s 1 987
然后,系统挂起。所以我觉得我不想这样。所以我使用:
#kill -s 9 987
这足以终止脚本。我在其他桌面上使用过 pkill,这是怎么回事?我可以在哪里查看 pkill 正在做什么或不做什么?
我查看了 dmesg,但在运行 pkill 后没有看到任何变化,我在 pkill 手册页中没有看到详细选项。
答案1
来自pkill 手册页:
用于匹配的进程名称限制为 /proc/pid/stat 输出中的 15 个字符。使用 -f 选项可匹配完整的命令行 /proc/pid/cmdline。
因此尝试
pkill -1 -f PirateRadio.py