我想在python中編寫一些簡短的腳本,這將在子流程中啓動另一個python代碼,如果尚未啓動,則終止終端&應用程序(Linux)。如何使用pid終止Python進程?
所以它看起來像:
#!/usr/bin/python
from subprocess import Popen
text_file = open(".proc", "rb")
dat = text_file.read()
text_file.close()
def do(dat):
text_file = open(".proc", "w")
p = None
if dat == "x" :
p = Popen('python StripCore.py', shell=True)
text_file.write(str(p.pid))
else :
text_file.write("x")
p = # Assign process by pid/pid from int(dat)
p.terminate()
text_file.close()
do(dat)
有由pid其應用從文件「.PROC」讀缺乏知識名理線的問題。 另一個問題是解釋器說名爲dat的字符串不等於「x」 ???我錯過了什麼?
你爲什麼要傳遞'shell = True'? AFAIK在你的用例中不需要。還要注意,當使用'shell = True'時,由'p.pid'返回的pid不是python進程的pid,而是shell的pid生成執行這個進程。 – Bakuriu
+1您的評論,但我認爲這是適當的,因爲我需要關閉終端。 – Alex