我想在 Linux 环境中使用 Python 程序终止该进程。我已经使用下面的代码来终止该进程,但它对我不起作用。
在这种情况下有人可以帮助我吗?
提前致谢。
import subprocess as sp
sp.run("ps aux |grep python |awk '{print $2}' |xargs kill");
运行上面的代码时我没有收到任何错误,该命令也没有在服务器中运行。
我想在 Linux 环境中使用 Python 程序终止该进程。我已经使用下面的代码来终止该进程,但它对我不起作用。
在这种情况下有人可以帮助我吗?
提前致谢。
import subprocess as sp
sp.run("ps aux |grep python |awk '{print $2}' |xargs kill");
运行上面的代码时我没有收到任何错误,该命令也没有在服务器中运行。
您有一些方法可以通过 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()
使用os.system("ps aux |grep python |awk '{print $2}' |xargs kill"):
import os
os.system("ps aux |grep python |awk '{print $2}' |xargs kill")
检查这是否适合您。
使用os 模块,您可以简单地运行系统命令:
import os
os.system("ps aux |grep python |awk '{print $2}' |xargs kill")