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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最新文章

  1. node 初识
  2. DBMS_LOB
  3. oracle 学习笔记 复制表结构
  4. js动态创建及移除div的方法
  5. 今天给大家分享一下Android中的资源与国际化的问题
  6. php三个执行命令函数
  7. Qt中用QSS切分图片
  8. ldap for ruby
  9. 基于visual Studio2013解决C语言竞赛题之0907删除记录
  10. 转 : 如何用sys as sysdba权限连接数据库进行EXP/IMP
  11. PAT (Advanced Level) 1017. Queueing at Bank (25)
  12. Struts2---Result(传统Web应用程序与Ajax应用程序的异同)
  13. source insight 中tab键的设置
  14. Java基础知识——算术操作符、自增自减、关系操作符,你真的了解吗?
  15. 关于 redis的操作
  16. Rpgmakermv(25) 游戏数据
  17. hadoop append 追加文件错误
  18. Swift5 语言参考(五) 语句
  19. 1、Python简史
  20. win7 配置微软的深度学习caffe

热门文章

  1. ceph luminous版部署bluestore
  2. Maven版本管理
  3. SQLSEVER导出 xml文件
  4. MyBatis之Oracle、Mysql批量插入
  5. Luogu P1627 中位数
  6. ClassLoader类加载器 & Java类加载机制 & 破坏双亲委托机制
  7. vue slot 插槽详解
  8. LG5487 【模板】线性递推+BM算法
  9. K-means: optimization objective(最小化cost function来求相应的参数)
  10. js中检测类型问题