在 CentOS 中,使用 nohup 命令可以將一個進程變為守護進程,使其在后臺運行并在用戶退出登錄后繼續運行
打開終端。
使用文本編輯器(如 vim、nano 等)打開你想要守護進程的腳本文件。例如,如果你想要守護名為 my_script.sh 的腳本,可以使用以下命令:
vim my_script.sh
確保腳本文件具有可執行權限。如果沒有,可以使用以下命令添加可執行權限:
chmod +x my_script.sh
使用 nohup 命令運行腳本,并將輸出重定向到日志文件。例如,將輸出重定向到名為 my_script.log 的文件:
nohup ./my_script.sh > my_script.log 2>&1 &
這里,nohup
是 no hang up 的縮寫,表示在用戶退出登錄后繼續運行進程。./my_script.sh
是要運行的腳本文件。>
將標準輸出重定向到 my_script.log 文件。2>&1
將標準錯誤輸出重定向到標準輸出,這樣錯誤信息也會被記錄到 my_script.log 文件中。最后的 &
符號表示將進程放入后臺運行。
按 Enter 鍵執行命令?,F在,你的腳本將在后臺作為守護進程運行,即使你退出登錄,它也會繼續運行。
若要檢查腳本的輸出,可以查看 my_script.log 文件:
tail -f my_script.log
這將顯示日志文件的實時更新。要停止顯示日志,可以按 Ctrl + C
。
注意:在實際生產環境中,通常使用更高級的工具(如 systemd、supervisord 等)來管理守護進程。這些工具提供了更多的功能和更好的控制。