我嘗試通過multiprocessing.Process()在test.py中同時調用a.py和b.py,它工作正常。但是進程CMD'/ usr/bin/python /tmp/test.py'的a.py,b.py和test.py的名稱是相同的。以不同的CMD名稱同時運行多個python腳本
# 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()
這是我的問題的解決方案,但似乎有點通過列出蟒蛇xxx.py&** **的行奇。 http://stackoverflow.com/questions/28549641/run-multiple-python-scripts-concurrently –
使用'Subprocess'而不是'Process' – stovfl
@stovfl'subprocess'可以調用模塊的特定方法嗎?謝謝。 –