如何使用subprocess
终止启动时启动的程序?我碰到了this question,找到了[[wordsforthewise's答案并尝试了一下,但没有任何反应。
Wordsforthewise'答案:
import subprocess as sp
extProc = sp.Popen(['python','myPyScript.py']) # runs myPyScript.py
status = sp.Popen.poll(extProc) # status should be 'None'
sp.Popen.terminate(extProc) # closes the process
status = sp.Popen.poll(extProc) # status should now be something other than 'None' ('1' in my testing)
我有一个由Cronjob在启动时运行的程序/home/pi/Desktop/startUpPrograms/facedetection.py
,我想从这样的flask应用程序路由中杀死它。将程序名称分配给
extProc = program_name
是否可行?如果是,如何分配?
@app.route("/killFD", methods=['GET', 'POST']) def killFaceDetector(): #kill code goes here.
[您必须遍历所有进程以找到要杀死的进程...或更简洁地讲,只需使用pkill
实用程序,并带有-f
标志,使其在整个命令行中查看。以下命令将杀死命令行中具有facedetection.py
的所有进程(如果您的用户有权这样做)。
import os
os.system('pkill -f facedetection.py')