[英]running and stopping a script in subprocess
我对子流程不熟悉,希望对以下问题有所帮助。 我有3个应用。 可以说我正在使用以下命令运行它们:
python manage.py app1
python manage.py app2
python manage.py app2
我想制作一个主脚本来控制它们,例如run_app1
或stop_app1
一切都在linux中运行。
我为我的解释不力表示歉意。 我有一个称为阅读障碍的问题,也称为阅读障碍。 我有时很难写下我的想法。 感谢您的阅读或任何帮助
使用subprocess
Python模块的第一步可能是这样的:
# Master
from multiprocessing.connection import Listener
from subprocess import Popen, PIPE
import socket
import sys
port = 10000
lstn = Listener(('localhost', int(port)), authkey=b'secret')
proc = Popen((sys.executable, 'worker.py', str(port)), stdout=PIPE, stderr=PIPE)
conn = lstn.accept()
conn.send([1, 'Brian', None])
print(proc.stdout.readline())
# Worker
from multiprocessing.connection import Client
import sys
port = int(sys.argv[1])
conn = Client(('localhost', port), authkey=b'secret')
while True:
try:
msg = conn.recv()
print('Received: %s', str(msg))
sys.stdout.flush()
except EOFError:
break
主进程初始化一个侦听器,然后打开工作进程。 可以通过连接对象将消息发送给工作程序,然后stdout
和stderr
返回主进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.