簡體   English   中英

在子進程中運行和停止腳本

[英]running and stopping a script in subprocess

我對子流程不熟悉,希望對以下問題有所幫助。 我有3個應用。 可以說我正在使用以下命令運行它們:

python manage.py app1
python manage.py app2
python manage.py app2

我想制作一個主腳本來控制它們,例如run_app1stop_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

主進程初始化一個偵聽器,然后打開工作進程。 可以通過連接對象將消息發送給工作程序,然后stdoutstderr返回主進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM