Linux服務(wù)器后臺運行程序教程(含Python與.sh腳本實戰(zhàn))
前言
在運行 .sh 腳本之前的重要前提:如果直接運行 .sh 腳本時遇到“權(quán)限拒絕 (Permission denied)”的報錯,需要先給腳本加上可執(zhí)行權(quán)限。指令是:chmod +x 你的腳本名.sh
方法一:使用 nohup(適合跑耗時較長的單次任務(wù),一鍵提交不需要看實時界面)
核心邏輯:在運行命令前加 nohup,在末尾加 > 日志名.log 2>&1 &。無論是跑 Python 還是 Shell 腳本,這套模板完全通用。
- 啟動后臺任務(wù)
Python 腳本例子:
nohup python train_reamot.py --model qwen2.5-vl --batch_size 4 > train_output.log 2>&1 &
.sh 腳本例子(兩種寫法皆可):
寫法 A(推薦):nohup bash run_experiments.sh > exp_output.log 2>&1 &
寫法 B(需提前賦予權(quán)限):nohup ./run_experiments.sh > exp_output.log 2>&1 &
- 查看運行進度
指令:tail -f [日志文件名].log
例子:tail -f train_output.log
說明:這會實時刷新并顯示代碼里的輸出。想退出查看畫面,按 Ctrl + C 即可(請放心,這絕對不會停掉后臺正在跑的程序)。 - 終止后臺程序
指令:先查進程號 ps -ef | grep 你的腳本名,然后強殺 kill -9 [進程號]。
例子:輸入ps -ef | grep run_experiments查到進程號是 12345 后,輸入 kill -9 12345 即可強制停止任務(wù)。
方法二:使用 tmux(適合多任務(wù)并行、需要時常切回來看進度條或交互的開發(fā)環(huán)境)
核心邏輯:在服務(wù)器里建一個“虛擬房間”,在房間里就像平時一樣跑代碼。退出房間時代碼依然在跑,下次進房間接著看。
- 創(chuàng)建并進入一個新環(huán)境
指令:tmux new -s [給任務(wù)起個名字]
例子:tmux new -s track_eval
說明:輸入后,屏幕底部會出現(xiàn)一條綠色狀態(tài)欄,說明你已經(jīng)進入了安全環(huán)境。 - 在里面正常跑代碼(Python 和 .sh 均可)
在這個環(huán)境里,你不需要加 nohup,平常怎么跑代碼現(xiàn)在就怎么跑。
Python 腳本例子:
python evaluate.py --dataset DRSet
.sh 腳本例子:bash run_experiments.sh 或者直接輸入 ./run_experiments.sh
- 把程序掛到后臺(最關(guān)鍵的一步)
指令:按住鍵盤上的 Ctrl 和 b 鍵,松開手指,然后再單獨按字母 d 鍵。
說明:此時你會退回到最初的普通終端界面。即使你現(xiàn)在斷開 SSH 連接、關(guān)機下班,剛才運行的 .py 或 .sh 腳本依然在服務(wù)器后臺穩(wěn)穩(wěn)執(zhí)行。 - 恢復(fù)之前的界面
指令:tmux a -t [任務(wù)名字]
例子:tmux a -t track_eval
說明:第二天重新連上服務(wù)器后輸入該指令,就能瞬間回到昨天的界面,進度條和打印出來的報錯信息都在。當這個任務(wù)徹底結(jié)束,你不再需要這個環(huán)境時,在界面里輸入 exit 即可徹底銷毀它。
總結(jié)建議:
- 如果你已經(jīng)寫好了最終的訓(xùn)練腳本,只需要它默默跑出結(jié)果,用 nohup 最簡單清爽。
- 如果是日常需要反復(fù)調(diào)試框架、同時跑多個不同的實驗對比,用 tmux 建立幾個不同的窗口來管理會大幅提升效率。
到此這篇關(guān)于Python與.sh腳本后臺運行Linux服務(wù)器的文章就介紹到這了,更多相關(guān)Python與.sh后臺運行Linux服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Mediapipe+Opencv實現(xiàn)手勢檢測功能
mediaPipe,他就是一個集成好的包括人臉關(guān)鍵位點識別、身體關(guān)鍵位點識別、手部關(guān)鍵位點識別的一個包或者庫,直接調(diào)用就能夠得到它的關(guān)鍵位點信息,本文給大家介紹Mediapipe+Opencv實現(xiàn)手勢檢測功能,感興趣的朋友一起看看吧2022-01-01
在Python中調(diào)用Ping命令,批量IP的方法
今天小編就為大家分享一篇在Python中調(diào)用Ping命令,批量IP的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

