python kill进程

写此脚本的起因:

运行了好多python脚本,每次想要停下来的时候,需要一个一个kill掉,十分不便利

        


       run_task_1 2 3,预计会更多,需要一个简单的办法kill掉某一个,或是这是全部kill掉,于是别写了下面的这个脚本

#coding=utf-8
import sys,os
def kill_crawler(id):
    cmd = 'ps -ef | grep python'
    f = os.popen(cmd)
    txt = f.readlines()
    for line in txt:
        colum = line.split()
        pid = colum[1]
	name = colum[-1]
	if name.startswith('run_task_'):
	    task_id = name[9:-3]
	    if task_id == id or id =='0':
		cmd = "kill -9 %d" % int(pid)
		rc = os.system(cmd)
		if rc == 0 : 
                    print "stop \"%s\" success!!" % name
      	        else:
                    print "stop \"%s\" failed!!" % name

if __name__ =='__main__':
   
    if not  len(sys.argv)==2:
	print u'输入要结束的任务编号,0代表停止所有'
        sys.exit()
    id = sys.argv[1]
    kill_crawler(id)
    


       有全部kill的操作需求,同时也有全部启动的操作需求,不过这个就不需要python脚本了,直接使用bash脚本就好了,新建一个名为start_task.sh的文件

#!/bin/sh
nohup python run_task_1.py &
nohup python run_task_2.py &
nohup python run_task_3.py &




你可能感兴趣的:(python)