簡體   English   中英

同時運行多個python腳本而無需創建多個腳本

[英]concurrently run multiple python scripts without creating multiple scripts

我希望我能很好地解釋這一點..(英語不是我的第一語言),但是在這個問題上,他們要求同時運行多個python腳本。 正是我現在的操作方式,基本上只是使用bash中的&執行我的多個腳本

我想做的是避免創建多個腳本,而是想要一個可以同時運行所有腳本的腳本

其中一個腳本看起來像這樣(類似於我所有其他腳本)

while True:
    text = "some shell script"
    os.system(text)

我發現很難使用while循環或任何形式的循環,因為它一個接一個地執行它們,而且速度非常慢。 我對python非常不熟悉,並且不太擅長編程..所以任何幫助都將是很棒的

您可以使用os.fork()在每個腳本的新進程中生成。

text = "some shell script"
pid = os.fork()
if pid == 0
    os.system(text)
    sys.exit()

這將創建一個新進程並在其中執行腳本,然后在完成后退出。 盡管在while循環中這樣做只會繼續創建新進程,直到os停止它為止。

如果您有要執行的程序列表,最好使用for循環遍歷它們。 例如

programs = ['test1.py', 'test2.py', 'test3.py']
for program in programs:
    pid = os.fork()
    if pid == 0
        os.system(program)
        sys.exit()

我也建議使用os.system ()上的subprocess.call()來代替它。 它使您可以輕松處理正在執行的程序的輸入和輸出。

暫無
暫無

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

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