[英]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.