如何通过python程序运行系统命令

时间:2019-07-15 06:07:45

标签: python python-3.x

我想在Linux环境中使用Python程序终止进程。我用下面的代码杀死该进程,但对我不起作用。

在这种情况下有人可以帮助我吗?

谢谢。

import subprocess as sp
sp.run("ps aux |grep python |awk '{print $2}' |xargs kill");

在运行上述代码时我没有收到任何错误,并且该命令在服务器中不起作用。

3 个答案:

答案 0 :(得分:2)

您有一些方法可以通过python程序运行系统命令:

使用os模块:

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")