我想在Linux环境中使用Python程序终止进程。我用下面的代码杀死该进程,但对我不起作用。
在这种情况下有人可以帮助我吗?
谢谢。
import subprocess as sp
sp.run("ps aux |grep python |awk '{print $2}' |xargs kill");
在运行上述代码时我没有收到任何错误,并且该命令在服务器中不起作用。
答案 0 :(得分:2)
您有一些方法可以通过python程序运行系统命令:
import os
os.system("ps aux |grep python |awk '{print $2}' |xargs kill")
import subprocess
proc1 = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
proc2 = subprocess.Popen(['grep', 'python'], stdin=proc1.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
proc3 = subprocess.Popen(['awk', "'{print $2}'"], stdin=proc2.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
proc4 = subprocess.Popen(['xargs', 'kill'], stdin=proc3.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
proc1.stdout.close() # Allow proc1 to receive a SIGPIPE if proc2 exits.
proc2.stdout.close() # Allow proc2 to receive a SIGPIPE if proc3 exits.
proc3.stdout.close() # Allow proc3 to receive a SIGPIPE if proc4 exits.
out, err = proc4.communicate()
答案 1 :(得分:0)
使用os.system("ps aux |grep python |awk '{print $2}' |xargs kill")
:
import os
os.system("ps aux |grep python |awk '{print $2}' |xargs kill")
检查是否适合您。
答案 2 :(得分:0)
使用 os模块,您可以简单地运行系统命令:
import os
os.system("ps aux |grep python |awk '{print $2}' |xargs kill")