讓服務(wù)器上的程序不間斷運(yùn)行

通過ssh登錄服務(wù)器運(yùn)行一個(gè)python腳本,想讓它24小時(shí)不間斷運(yùn)行??墒且坏┪彝顺鰏sh,整個(gè)程序就斷了。這是由于ssh的session特性——它本身就是一個(gè)session,連接上開啟session,斷開ssh連接則關(guān)閉session,關(guān)閉時(shí)所有你在這個(gè)session里運(yùn)行的東西都會(huì)被中斷。

關(guān)于ssh關(guān)閉連接就關(guān)閉運(yùn)行程序的問題,在這里可以看到一些解決方案。

解決方案一:tmux

很幸運(yùn),在學(xué)習(xí)怎么把vim分屏瀏覽時(shí)知道了tmux,然后看視頻時(shí)學(xué)到:原來ssh是這樣的特性,斷開就會(huì)停止所有之前連接ssh期間運(yùn)行的所有processes,而tmux的核心業(yè)務(wù)不在于把屏幕分成幾塊好看,而是它能保存session!而且還能多端實(shí)時(shí)直播session!

解決方案二:nohup

網(wǎng)上一般說到不間斷任務(wù),一般也都會(huì)先提到這個(gè),可以說是常規(guī)方案。
nohup一般都是Linux系統(tǒng)自帶的,使用極其簡單:

$ nohup 具體指令 &

&是讓其轉(zhuǎn)入后臺(tái)運(yùn)行,而不在前臺(tái)顯示。

解決方案三:screenbyobu

這據(jù)說是現(xiàn)在更常用的方法,參考文章。

解決方案四:disown

據(jù)說的最簡單方案:在命令后加&或者用ctrl+z把任務(wù)轉(zhuǎn)到后臺(tái),然后用disown -a將任務(wù)解除與當(dāng)前session的關(guān)聯(lián)(意思就是當(dāng)前session關(guān)閉也不影響它)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容