python+shell简易进程控制

来源:互联网 发布:无冬之夜 原生mac 编辑:程序博客网 时间:2024/05/05 00:22
#!/usr/bin/python# -- coding: UTF-8 --import sys, os;storecmd = 'php /home/wwwroot/script/store.php -d';grepcmd = 'ps aux | grep store.php | grep -v grep';maxProcessNum = 1;boolkill = False;if len(sys.argv)>1:    for i in sys.argv[1:]:        if i.isdigit():            maxProcessNum = int(i);        if i=='-kill':            boolkill = True;pids = [];output = os.popen(grepcmd).readlines();if len(output)>0:    for line in output:        pids.append(int(line.split()[1]));    print('store.php is running, pid:'+' '.join([str(i) for i in pids]));    if boolkill:        for pid in pids: os.kill(pid,9);        print('has been killed');        sys.exit();else:    if boolkill:        print('store.php is not running');        sys.exit();currProcessNum = len(pids);newProcessNum = maxProcessNum - currProcessNum;if newProcessNum==0:    sys.exit();elif newProcessNum<0:    sys.exit();else:    print('need to create %d processes' % (newProcessNum));    for i in range(1,newProcessNum+1):        exitCode = os.system(storecmd);        if exitCode==0:            print('no:%d - start ok' % (currProcessNum+i));        else:            print('no:%d - start failed, exitCode:%d' % (currProcessNum+i,exitCode));

0 0
原创粉丝点击