nohup(no hang up)是一個在Linux和Unix系統中用于在后臺運行命令的實用程序,即使關閉終端或斷開連接,它也會繼續運行
使用&符號將命令放入后臺運行:
在命令末尾添加&符號,可以將命令放入后臺運行。例如,如果你想在后臺運行一個名為my_script.sh的腳本,可以使用以下命令:
nohup ./my_script.sh &
將輸出重定向到文件:
默認情況下,nohup會將命令的輸出發送到名為nohup.out的文件。你可以使用>符號將輸出重定向到其他文件。例如,如果你想將輸出保存到名為output.log的文件,可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
這里,2>&1表示將標準錯誤(2)重定向到標準輸出(1),&表示將命令放入后臺運行。
作為系統服務運行:
如果你想讓nohup命令作為系統服務運行,可以創建一個名為my_service.service的systemd服務文件。以下是一個簡單的示例:
[Unit]
Description=My custom service
After=network.target
[Service]
ExecStart=/path/to/your/script.sh
Restart=always
User=my_user
Group=my_group
Environment=PATH=/usr/bin:/bin
[Install]
WantedBy=multi-user.target
將此文件保存到/etc/systemd/system/目錄下,然后運行以下命令啟用和啟動服務:
sudo systemctl enable my_service.service
sudo systemctl start my_service.service
這樣,nohup命令將作為系統服務運行,即使關閉終端或斷開連接,它也會繼續運行。
總之,nohup在CentOS中可以通過將命令放入后臺運行、將輸出重定向到文件以及作為系統服務運行等方式與其他服務協同工作。