我对子流程不熟悉,希望对以下问题有所帮助。 我有3个应用。可以说我正在使用如下命令运行它们:
python manage.py app1
python manage.py app2
python manage.py app2
我想制作一个主脚本来控制它们,例如run_app1
或stop_app1
一切都在Linux中运行。
对我的解释不力表示歉意。我有一个称为阅读障碍的问题,也称为阅读障碍。我有时很难写下我的想法。 感谢您的阅读或任何帮助
答案 0 :(得分:0)
使用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
返回主进程。