获取一个正在运行的 py 脚本 ID 然后杀死它的命令

Mis*_*o21 4 command-line bash scripts shortcuts

我曾经要求提供一个脚本来控制 unity 启动器自动隐藏行为,这里的社区非常友好和聪明,可以准确地提供我在这里需要的东西

现在我想知道是否有一个命令来 grep 这个正在运行的 py 脚本 ID 然后杀死它,因为我想添加两个键盘快捷键来打开和关闭这个脚本。

ter*_*don 5

是的,pkill。如果您的脚本名为myPythonScript.py,则可以运行:

pkill -f myPythonScript.py
Run Code Online (Sandbox Code Playgroud)

请注意,该命令将终止所有正在运行的myPythonScript.py. 它还会杀死任何其他在完整命令行中包含该字符串的进程myPythonScript.py,例如,如果您使用类似emacs myPythonScript.py.

为了确保只杀死正在运行的脚本,您可以尝试更具体地匹配命令:

pkill -f "/python.*myPythonScript.py"
Run Code Online (Sandbox Code Playgroud)

这只会杀死匹配/python0 或更多字符和脚本名称的进程。由于脚本在进程列表中如下所示:

terdon 20559  0.0  0.0  22768  7404 pts/4    S+   18:18   0:00 /bin/python /home/chapplec/scripts/myPythonScript.py
Run Code Online (Sandbox Code Playgroud)

那应该只杀死正在运行的脚本实例。