簡體   English   中英

運行后如何在后台啟動 python 腳本?

[英]How to start a python script in the background once it's run?

def main(self,argv):
    do stuff.......

if __name__ == '__main__':
    main(sys.argv[1:])

當我的腳本運行時,我怎樣才能使它立即作為后台進程運行 main() ? 它將運行完成並將信息輸出到文件。

我忘了說......目標是能夠在任何操作系統上運行它。 我不想修改在命令行中調用腳本的方式,我希望腳本本身使其在后台運行。

簡單的:

$ python yourpythonscript.py &

操作系統將為您處理;)當然,如果這是在 windows 或 *nix 上,您將不得不 state。

如果您在 windows 下運行此程序,您可能需要檢查cmd.exe程序 - 我認為有一個選項可以將其 arguments 作為后台進程運行...

或者如果你在 linux 機器下運行這個,你可以使用ps aux | grep yourpythonscript.py檢查進程。 ps aux | grep yourpythonscript.py

在 Windows 上,使用pythonw.exe而不是python.exe運行程序。

在 Unix 和 MacOS 上,使用Python 守護程序配方或 python-守護python-daemon package。

我會使用 Python線程庫。 這將允許您在后台運行 main()。

在 linux 中,您可以使用 & 在后台運行它,如果您希望它運行,即使您關閉 shell 使用 nohup 命令: nohup python yourpythonscript.py &

暫無
暫無

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

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