shell脚本同时执行多个python脚本_用shell同时启动多个python脚本

1、背景是

有三个脚本a.py, b.py, c.py

三个都是爬虫,里面都是while(true)方式运行的,不会主动运行结束。

每次启动他们,就需要:

python a.py > logs/a.log

python b.py > logs/b.log

python c.py > logs/c.log

2、上linux批处理:

有点麻烦,想搞个批处理:

#!/bin/sh

python a.py > logs/a.log

python b.py > logs/b.log

python c.py > logs/c.log

3、发现有问题

运行发现只有一个python进程,看日志发现只有a运行了,b和c都没跑起来。

估计因为shell是顺序执行的,a没执行完,所以不会去执行b和c,查了一下果然。

4、同时运行方案

不过shell也提供了一个同时运行多个命令的方式:&符号。

于是修改为:

#!/bin/sh

python a.py > logs/a.log & python b.py > logs/b.log & python c.py > logs/c.log

就可以同时运行三个脚本了。

5、再加工一下

再加工一下,启动前先停止所有py进程:

#!/bin/sh

ps -ef | grep python | cut -c 9-15| xargs kill -s 9

python a.py > logs/a.log & python b.py > logs/b.log & python c.py > logs/c.log

保存为restart.sh

可执行权限:chmod +x restart.sh

搞定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值