當前位置:編程學習大全網 - 源碼破解 - 如何讓 Python 代碼常駐在服務器進程中

如何讓 Python 代碼常駐在服務器進程中

壹、nohup

nohup,即 no hangup,nohup 的用途就是讓提交的命令忽略 hangup 信號,從而使我們的進程避免中途被中斷。它可以讓 python 腳本和服務器連接端的 session 分離,以達到退出後依舊執行:

$ chmod +x /your_path/yourscript.py ? # 先設置可執行權限$ nohup python /your_path/yourscript.py# 切記退出的 Terminal 的時候,不要 ctrl+c 退出,而是直接關閉,不然 Nohup 就被妳關閉了。

如何關閉這個壹直執行的進程呢:

# 找到對應的進程 PID

$ ps -ef | grep python

# 返回內容如:

user ?2430 1 ?0 Jul03 ?00:00:01 /usr/bin/python -tt /usr/sbin/yum-updatesd

# kill 掉該進程即可:

$ kill -9 2430

PS:nohup 在服務器重啟之後就失效了,所以並不完美。

二、將命令寫入 Linux 啟動腳本

Linux 在啟動的時候會執行 /etc/rc.local 裏面的腳本,所以只要在這裏添加執行命令就可以:

$ vim /etc/rc.local

# 如果是 Centos 添加以下內容:

/your_path/python3.4 /your_path/yourscript.py

# 以上內容需要添加在 exit 命令前,而且由於在執行 rc.local 腳本時,PATH 環境變量未全部初始化,因此命令需要使用絕對路徑

PS:這種方式的缺點是如果腳本掛了,那麽不會自動重新啟動。

三、使用 Supervisor 進程管理工具

詳見這篇文章:使用 Supervisor 管理服務器後臺進程,在服務器重啟和腳本出錯後,可以完美重啟,推薦。

  • 上一篇:夢見在泳池遊泳的預兆
  • 下一篇:哪裏有CAD下載,速度要快的
  • copyright 2024編程學習大全網