在后台杀死 Python 脚本 运行 的最简单方法
Least Complex Method To Kill Python Script Running in The Background
我是运行后台一个叫mystepper.py的脚本(/home/pi/mystepper.py);它为我的 RPi Camara 移动了两个步进电机。如果可能的话,我想了解按名称终止 mystepper.py 脚本的最简单方法。然后我计划在 /home/pi/.bashrc 中创建一个别名,这样我就可以使用我的 iPhone 和 iFreeRDP 应用程序来控制相机。 iFreeRDP 应用程序和类似应用程序的键盘损坏,因此句点和 space 栏不起作用,因此需要快捷方式别名来消除对 space 和句点的需要。
杀死该脚本后,我将使用 /home/pi/moveit.py 进行步进电机位置调整,然后重新启动 mystepper.py。
所以,如果有人能告诉我最简单的杀死脚本的方法,那就太好了!
pkill
可以通过使用 -f
标志匹配其命令行来终止进程。见 manpage.
$ pkill -f mystepper.py
应该可以解决问题。
已更新以在下面的评论中包含标记建议
要将其缩短为单个命令,例如:killit
,应将以下行放入 ~/.bashrc
alias killit='sudo pkill -f /home/pi/mystepper.py'
注意: 以上在 Raspberry Pi 上无需密码验证即可工作,因为默认 Raspbian /etc/suoders
文件在使用 sudo
作为 pi
用户。
即 /etc/suoders
pi ALL=(ALL) NOPASSWD: ALL
语法见manpage。
作为不同的用户或在这不适用的情况下,然后在 /etc/sudoers
的最后通过 visudo
命令添加以下内容应该可以。将 pi
替换为调用脚本的正确用户(替换为 ALL
应该允许所有用户使用 root 权限 运行 mystepper.py - 尚未对此进行测试)。
pi ALL=(ALL) NOPASSWD: /usr/bin/python /home/pi/mystepper.py
我是运行后台一个叫mystepper.py的脚本(/home/pi/mystepper.py);它为我的 RPi Camara 移动了两个步进电机。如果可能的话,我想了解按名称终止 mystepper.py 脚本的最简单方法。然后我计划在 /home/pi/.bashrc 中创建一个别名,这样我就可以使用我的 iPhone 和 iFreeRDP 应用程序来控制相机。 iFreeRDP 应用程序和类似应用程序的键盘损坏,因此句点和 space 栏不起作用,因此需要快捷方式别名来消除对 space 和句点的需要。
杀死该脚本后,我将使用 /home/pi/moveit.py 进行步进电机位置调整,然后重新启动 mystepper.py。
所以,如果有人能告诉我最简单的杀死脚本的方法,那就太好了!
pkill
可以通过使用 -f
标志匹配其命令行来终止进程。见 manpage.
$ pkill -f mystepper.py
应该可以解决问题。
已更新以在下面的评论中包含标记建议
要将其缩短为单个命令,例如:killit
,应将以下行放入 ~/.bashrc
alias killit='sudo pkill -f /home/pi/mystepper.py'
注意: 以上在 Raspberry Pi 上无需密码验证即可工作,因为默认 Raspbian /etc/suoders
文件在使用 sudo
作为 pi
用户。
即 /etc/suoders
pi ALL=(ALL) NOPASSWD: ALL
语法见manpage。
作为不同的用户或在这不适用的情况下,然后在 /etc/sudoers
的最后通过 visudo
命令添加以下内容应该可以。将 pi
替换为调用脚本的正确用户(替换为 ALL
应该允许所有用户使用 root 权限 运行 mystepper.py - 尚未对此进行测试)。
pi ALL=(ALL) NOPASSWD: /usr/bin/python /home/pi/mystepper.py