前言:
今天為大家帶來的内容,主要介紹了python腳本後台運行的幾種方式,linux下後台運行、通過upstart方式實現、通過bash腳本實現、通過screen、tmux等方式實現,需要的朋友可以參考下。
提示:部分代碼用圖片方式呈現出來,目的是為了更好的收藏與觀看!喜歡的話記得不忘點贊關注不迷路哦!
一個用python寫的監控腳本test1.py,用while True方式一直運行,在ssh遠程(使用putty終端)時通過以下命令啟動腳本:
代碼如下:
python test1.py &
現在腳本正常運行,通過ps能看到進程号,此時直接關閉ssh終端(不是用exit命令,是直接通過putty的關閉按鈕執行的), 再次登錄後發現進程已經退出了。通過後台啟動的方式該問題已經解決,這裡總結下,也方便我以後查閱。
linux 下後台運行
通過fork實現
linux環境下,在c中守護進程是通過fork方式實現的,python也可以通過該方式實現,示例代碼如下:
複制代碼 代碼如下:
圖一
提示:圖一,二,三中的代碼都是一起的!
圖二
圖三
通過upstart方式實現
可以通過upstart把應用封裝成系統服務,這裡直接記錄下完整示例。
1、編寫python腳本
代碼如下:
[root@local t27]# cat test123.py #!/usr/bin/env pythonimport os,time while True : print time.time() time.sleep(1)
2、編寫upstat配置文件
代碼如下:
3、重新加載upstate
代碼如下:
initctl reload-configuration
4、啟動服務
代碼如下:
5、停止服務
代碼如下:
通過bash腳本實現
1、python代碼
代碼如下:
2、編寫啟動腳本
複制代碼 代碼如下:
[root@local test]# cat start.sh
#! /bin/shpython test123.py &
3、啟動進程
代碼如下:
[root@local test]#./start.sh
如果直接用&啟動進程:
代碼如下:
python test123.py &
直接關閉ssh終端會導緻進程退出。
通過screen、tmux等方式實現
如果臨時跑程序的話,可以通過screen、tmux啟動程序,這裡描述下tmux啟動的方式。
1、啟動tmux
在終端輸入tmux即可啟動
2、在tmux中啟動程序
直接執行如下命令即可(腳本參考上面的): python test123.py
3、直接關閉ssh終端(比如putty上的關閉按鈕);
4、重新ssh上去之後,執行如下命令:
代碼如下:
tmux attach
現在可以看到python程序還在正常執行。windows下後台運行
在windows下沒有深入的研究過,我經常用的方法是修改python腳本的擴展名為".pyw",雙擊即可後台運行,不需要修改任何代碼。
以上就是本文全部内容啦!
最後,小編想說一句話:我是一名python開發工程師,整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習,面試寶典,面試寶典,面試寶典。想要這些資料的可以關注小編,并在後台私信小編:“07”即可領取。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!