Chinaunix

标题: 如何使用PYTHON写一个脚本管理启动多个python程序? [打印本页]

作者: moatlzy    时间: 2009-10-13 16:21
标题: 如何使用PYTHON写一个脚本管理启动多个python程序?
如题,我一台服务器需要同时启6个python程序(如果一个个去启动,常会漏掉那么一两个忘了启动),想写一个python脚本去实现(实际就是启动6个CMD的python程序框,最好是任何一个程序如果退出了,CMD框都有不要消失,这样可以看出是哪个程序退出了),发现os.system好象实现不了!不知有没有好的办法,请高手指点!
作者: bleem1998    时间: 2009-10-13 16:42

  1. import os
  2. os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp1.py').close()
  3. os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp2.py').close()
  4. os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp3.py').close()
  5. os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp4.py').close()
  6. os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp5.py').close()
  7. os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp6.py').close()
复制代码

这个办法是我研究过几个月终于发现的

作者: smallfish_xy    时间: 2009-10-13 17:07
原帖由 bleem1998 于 2009-10-13 16:42 发表

import os
os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp1.py').close()
os.popen('start '+'c:/python/python.exe '+' c:/ppp/pp2.py').close()
os.popen('start '+'c:/python/python.exe '+'  ...

大哥你好猛,干嘛不用bat或者shell之类批处理去实现??
作者: moatlzy    时间: 2009-10-14 23:47
感谢2楼!
os.popen可以,但对其中一个程序ctrl+break退出后,CMD框也退出了,这个有没有办法保留?
作者: bleem1998    时间: 2009-10-15 15:19
暂时还没想到办法怎么保留
再研究几个月没准能想出好办法
作者: openspace    时间: 2009-10-15 16:04
多进程
设置信号处理

LZ可以试试行不行
作者: highroom    时间: 2016-07-26 11:06
二楼提供的方法很好,不过就是窗口多了不显示标题不太方便,后来找到个方法,写一个.bat批处理文件
start "标题" python d:/xxx.py
start "标题" python d:/xxx.py
start "标题" python d:/xxx.py
start "标题" python d:/xxx.py

以这样的格式写到bat里执行就行了,详细可以在cmd输入start /?查询命令详情




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2