文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>处理挂掉的守护进程和其相关信息

处理挂掉的守护进程和其相关信息

时间:2011-04-11  来源:simayixin

在写守护进程的时候,会涉及一些启动锁文件,进程id文件等信息。而当程序一旦挂掉(有时候可能是程序不工作,多线程引起的资源死锁等。),要强制关闭进程并且删除相关的文件信息。手动来操作,比较麻烦。写个程序会比较好:

import subprocess,re,sys

pidReg = re.compile("root\s+(\d+)\s")
def kill(process):
    p = subprocess.Popen("ps axu | grep py",shell=True,stdout=subprocess.PIPE)
    for pro in p.stdout.readlines():
        if pro.find(process)!=-1:
            pid = pidReg.findall(pro)[0]
            subprocess.call("kill -9 %s;rm -rf /usr/local/mm-bs/pid/%s.*" % (pid,process.split(".")[0]),shell=True)
            print "%s的进程id为%s,已被强制关闭!" % (process,pid)
            return 
    print "未找到%s!" % process

if __name__ == "__main__":
    args = sys.argv
    if len(args)!=2:
        print "格式错误!(kill.py processName)"
        sys.exit(1)

    try:
        kill(args[1].strip())
    except Exception,e:
        print e

代码中相关路径为我当前工作路径,请自行更改。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载