有没有办法用python启动/停止linux进程?

teh*_*yan 8 python linux

我希望能够启动一个进程然后能够杀死它

Fea*_*eep 15

这是一个小的python脚本,它启动一个进程,检查它是否正在运行,等待一段时间,杀死它,等待它终止,然后再次检查.它使用'kill'命令.python子进程的2.6版本有一个kill函数.这是在2.5上写的.

import subprocess
import time

proc = subprocess.Popen(["sleep", "60"], shell=False)
print 'poll =', proc.poll(), '("None" means process not terminated yet)'
time.sleep(3)
subprocess.call(["kill", "-9", "%d" % proc.pid])
proc.wait()
print 'poll =', proc.poll()
Run Code Online (Sandbox Code Playgroud)

定时输出显示它在大约3秒钟后终止,而不是60作为睡眠呼叫建议.

$ time python prockill.py 
poll = None ("None" means process not terminated yet)
poll = -9

real    0m3.082s
user    0m0.055s
sys 0m0.029s
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用os.kill(..)终止进程 (2认同)
  • 甚至从python 2.6开始甚至是proc.terminate()或proc.kill()。 (2认同)

Bas*_*ard 8

看看subprocess模块.您也可以使用低级原语,例如fork()通过os模块.