繁体   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