在Ubuntu中,將進程放到后臺運行可以讓您繼續在終端中執行其他任務
使用&符號將進程放到后臺運行:
在命令的末尾添加&符號,可以讓進程在后臺運行。例如:
python my_script.py &
使用nohup命令:
nohup(no hang-up)命令可以讓進程忽略掛起信號,即使您關閉終端,進程也會繼續運行。例如:
nohup python my_script.py &
默認情況下,nohup會將輸出重定向到名為nohup.out的文件。如果您想將輸出重定向到其他文件,可以使用以下命令:
nohup python my_script.py > output.log &
使用screen或tmux工具:
screen和tmux是終端復用器,可以讓您在一個終端窗口中運行多個會話。這意味著您可以在一個會話中啟動后臺進程,然后斷開連接,稍后再重新連接并查看進程狀態。例如,使用screen:
screen -S my_background_process
python my_script.py
按下Ctrl+A,然后按下D將會話分離并放到后臺運行。要重新連接會話,請使用以下命令:
screen -r my_background_process
使用systemd服務:
對于需要長期運行的進程,您可以創建一個systemd服務來管理它。首先,創建一個名為my_service.service的文件,并添加以下內容:
[Unit]
Description=My background process
[Service]
ExecStart=/usr/bin/python /path/to/my_script.py
Restart=always
User=my_user
[Install]
WantedBy=multi-user.target
將my_user替換為您的用戶名,將/path/to/my_script.py替換為您的腳本路徑。然后,將此文件保存到/etc/systemd/system/目錄下,并運行以下命令以啟動服務:
sudo systemctl start my_service
要使服務在系統啟動時自動運行,請執行以下命令:
sudo systemctl enable my_service
您可以使用以下命令查看服務狀態:
sudo systemctl status my_service
這些技巧可以幫助您在Ubuntu中將進程放到后臺運行。根據您的需求選擇合適的方法。