python+shell简易进程控制

#!/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));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值