代码如下:
def kill_process():
status, output = commands.getstatusoutput("ps -ef | grep tomcat | grep /home/aaron | awk '{print $2}' | xargs kill -9")
def kill_process():
status, output = commands.getstatusoutput("ps -ef | grep tomcat | grep /home/aaron | awk '{print $2}' | xargs kill -9")
print("status: %s, msg: %s" % (status >> 8, output))
说明:commands.getstatusoutput返回一个元组,第一个和第二个值分别是命令返回的status和output,这里的status值是个16位的值,高8位是退出时的状态码。具体可参见os.wait的说明(我的机器上装的python3.3,os没有wait函数了,有一个waitpid函数,说明中也有status << 8的说明)
另外,os.system(commands),os.popen()对象的close()函数也是返回这个值,用subprocess.Popen对象的wait函数和returnvalue属性都可以获取到shell命令执行的返回值。
本文介绍了一个使用Python编写的脚本,该脚本能够查找并终止特定用户的Tomcat进程。通过组合多个Linux命令并利用Python的commands模块来实现这一目标。文章还解释了如何解析commands.getstatusoutput函数返回的16位状态值。
7万+

被折叠的 条评论
为什么被折叠?



