第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Python中啟動后臺進(jìn)程?

如何在Python中啟動后臺進(jìn)程?

溫溫醬 2019-06-24 10:47:57
如何在Python中啟動后臺進(jìn)程?我正在嘗試將shell腳本移植到更具可讀性的python版本。原始shell腳本啟動幾個進(jìn)程(實用程序、監(jiān)視器等)在“&”的背景中。如何在python中實現(xiàn)同樣的效果?當(dāng)python腳本完成時,我希望這些進(jìn)程不要死。我確信這與守護(hù)進(jìn)程的概念有某種關(guān)系,但我無法輕松找到如何做到這一點。
查看完整描述

3 回答

?
至尊寶的傳說

TA貢獻(xiàn)1789條經(jīng)驗 獲得超10個贊

:這一答案不如2009年發(fā)布時的最新情況。使用subprocess現(xiàn)在推薦在其他答案中顯示的模塊。在醫(yī)生里

(請注意,子流程模塊為生成新進(jìn)程和檢索其結(jié)果提供了更強大的工具;使用該模塊比使用這些功能更好。)


如果希望在后臺啟動進(jìn)程,可以使用system()并以shell腳本的方式調(diào)用它,或者您可以spawn它:

import os
os.spawnl(os.P_DETACH, 'some_long_running_command')

(或者,您也可以嘗試使用較少的可移植性。os.P_NOWAIT國旗)。

這里的文件.


查看完整回答
反對 回復(fù) 2019-06-24
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊

當(dāng)jkp解決方案起作用,更新的處理方法(以及文檔建議的方式)是使用subprocess模塊。對于簡單的命令,它的等價性,但它提供了更多的選項,如果你想做一些復(fù)雜的事情。

您的案例示例:

import subprocess
subprocess.Popen(["rm","-r","some.file"])

這應(yīng)該會運行rm -r somefile在后臺。但要小心:subprocess.Popen()如果python腳本中的任何內(nèi)容都不取決于正在運行的命令的輸出,則僅在后臺運行一個進(jìn)程:

例如,以下命令將在后臺運行:

import subprocess
ls_output=subprocess.Popen(["ls", "-a"], stdout=subprocess.PIPE)

見文件這里.

另外,需要澄清的一點是:“背景”純粹是一個shell概念:您可能想要的是產(chǎn)生一個新的過程。我在這里使用了“背景”來指類似shell背景的行為,但不要把它誤認(rèn)為是實際處于后臺的過程。


查看完整回答
反對 回復(fù) 2019-06-24
?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗 獲得超6個贊

你可能想知道答案“如何在Python中調(diào)用外部命令”.

最簡單的方法是使用os.system職能,例如:

import os
os.system("some_command &")

基本上,不管你把什么傳遞給system函數(shù)的執(zhí)行方式將與您在腳本中將其傳遞給shell一樣。


查看完整回答
反對 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 3098 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號