天地一沙鸥

[暴走零零漆的学习笔记]

原创 Python实现Linux下面按名字kill掉进程收藏

新一篇: 07年8月28日 星期二 | 旧一篇: 简单的学习Python多线程

Linux下面按进程的命令名字kill掉进程稍稍有点麻烦,就用python写了一个简单的小工具,不过目前这个工具还有点小问题,就是随便输入一个名字,执行ps  aux|grep  %name 命令,本身也产生一个进程,但是这个进程随即消失,以后kill的时候就找不到这个进程了。不过运行结果还是满意的。

xkill
#!/usr/bin/python

import os,re,sys

def kill_by_name(name):
    cmd
='ps aux|grep %s'%name
    f
=os.popen(cmd)
    regex
=re.compile(r'\w+\s+(\d+)\s+.*')
    txt
=f.read()
    
if len(txt)<5:
        
print 'there is no thread by name or command %s'%name
        
return

    ids
=regex.findall(txt)
    cmd
="kill %s"%' '.join(ids)
    os.system(cmd)


if __name__=='__main__':
    
if len(sys.argv)==1:
        name
=raw_input("type the process command name:")
    
else:
        name
=sys.argv[1]
    kill_by_name(name)
 

发表于 @ 2007年08月03日 17:28:00|评论(loading...)|编辑

新一篇: 07年8月28日 星期二 | 旧一篇: 简单的学习Python多线程

评论

#jigloo 发表于2007-08-03 22:08:34  IP: 58.240.146.*
不用掉ps
直接os.system('killall %s' % 'XXX')就可以了。
#foyuan 发表于2007-08-04 11:29:39  IP: 61.51.120.*
果然 killall +进程名字 就kill完了 呵呵

谢谢楼上
发表评论  


登录
Csdn Blog version 3.1a
Copyright © foyuan