我尝试在中同时调用a.py和b.py测试.py通过多处理过程(),它起作用了。但是进程CMDa.py、b.py和测试.py,它们是'/usr/bin/python/tmp/测试.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名称,如下所示:(这可以帮助我识别不同的进程是否正在运行。)
^{pr2}$请帮助建议:)
源代码如下:
在测试.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()
备份:
import time
def printb():
while True:
print 'b'
time.sleep(1)
if __name__ == '__main__':
printb()
在python中,您正在使用}作为库,因此它与执行的文件}都会出现相同的情况。在
a.py
和{test.py
同名。使用multiprocessing
或{在
Process
方法(multiprocessing.Process(self, group=None, target=None, name=None, args=(), kwargs={})
)中有一个name选项,但正如@fedterzi所说,它只用于识别目的。在如果要调用进程或文件,可以使用库subprocess。在
根据您正在执行的任务,例如对一组进程进行并行化,您还可以使用gnu parallel或通过
bash
的其他方法来完成所需的行为。在阅读Python»2.7.13文档using-the-subprocess-module
从
subprocess
aNOWAIT方法中选择, 相应地编辑问题代码。在测试Python:2.7.9
相关问题 更多 >
编程相关推荐