使用不同的CMD名称同时运行多个python脚本



我尝试通过多处理在 test.py 中同时调用 a.py 和 b.py。进程((,它起作用了。但是 a.py、b.py 和 test.py 的进程CMD名称是相同的,它们是'/usr/bin/python/tmp/test.py'。

# ps -ef | grep b.py
UID   PID  PPID   C STIME   TTY           TIME CMD
501 61486 39878   0  2:33PM ??         0:00.05 /usr/bin/python /tmp/test.py
501 61487 61486   0  2:33PM ??         0:00.01 /usr/bin/python /tmp/test.py
501 61488 61486   0  2:33PM ??         0:00.01 /usr/bin/python /tmp/test.py

我想让这三个进程通过"ps -ef"显示不同的 CMD 名称,如下所示:(这可以帮助我确定不同的进程是否正在运行。

# ps -ef | grep b.py
UID   PID  PPID   C STIME   TTY           TIME CMD
501 61486 39878   0  2:33PM ??         0:00.05 /usr/bin/python /tmp/test.py
501 61487 61486   0  2:33PM ??         0:00.01 /usr/bin/python /tmp/a.py
501 61488 61486   0  2:33PM ??         0:00.01 /usr/bin/python /tmp/b.py

请帮助建议:(

源代码如下:

test.py:

import multiprocessing
import a
import b

p1 = multiprocessing.Process(target=a.printa)
p2 = multiprocessing.Process(target=b.printb)
p1.start()
p2.start()

a.py:

import time

def printa():
    while True:
        print 'a'
        time.sleep(1)
if __name__ == '__main__':
    printa()

b.py:

import time
def printb():
    while True:
        print 'b'
        time.sleep(1)
if __name__ == '__main__':
    printb()

您在 python 中使用 a.pyb.py 作为库,因此它与执行的文件test.py的名称相同。使用multiprocessingjoblib发生相同的情况。

Process方法中有一个名称选项(multiprocessing.Process(self, group=None, target=None, name=None, args=(), kwargs={})(,但正如@fedterzi所说,它仅用于识别目的。

如果要调用进程或文件,可以使用库子进程。

根据您正在执行的任务,例如将一堆进程并列化,您还可以通过 bash 使用 gnu parallel 或其他一些方法来完成您想要的行为。

阅读 Python » 2.7.13 使用子进程模块
的文档从subprocess NOWAIT 方法中进行选择,相应地编辑您的问题代码。

import subprocess
def openCmd(name):
    return subprocess.?
if __name__ == '__main__':
    while True:
        key = raw_input('input 1=open, 0=terminate, q=quit:')
        print(key)
        if key == '1':
            A_p = openCmd(('a'))
            B_p = openCmd(('b'))
        if key == '0':
            A_p.terminate()
            B_p.terminate()
        if key == 'q':
            break

用 Python 测试 2.7.9

相关内容

  • 没有找到相关文章

最新更新