转 python多个命令同时执行.sh
2024-08-22 20:34:24
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
作者:老胡de博客
链接:https://www.jianshu.com/p/0f72afb513ab
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最新文章
- node 初识
- DBMS_LOB
- oracle 学习笔记 复制表结构
- js动态创建及移除div的方法
- 今天给大家分享一下Android中的资源与国际化的问题
- php三个执行命令函数
- Qt中用QSS切分图片
- ldap for ruby
- 基于visual Studio2013解决C语言竞赛题之0907删除记录
- 转 : 如何用sys as sysdba权限连接数据库进行EXP/IMP
- PAT (Advanced Level) 1017. Queueing at Bank (25)
- Struts2---Result(传统Web应用程序与Ajax应用程序的异同)
- source insight 中tab键的设置
- Java基础知识——算术操作符、自增自减、关系操作符,你真的了解吗?
- 关于 redis的操作
- Rpgmakermv(25) 游戏数据
- hadoop append 追加文件错误
- Swift5 语言参考(五) 语句
- 1、Python简史
- win7 配置微软的深度学习caffe