雲伺服器後台執行

2021-10-01 05:39:19 字數 1341 閱讀 3156

如何讓**在後台執行

最開始的做法是

$ nohup python test.py
這樣執行的時候會將**放在伺服器後台執行,終端是看不到執行過程的,期間執行的結果(**執行過程中列印出來的)會在乙個生成的nohup.out檔案中儲存。

第二種 screen

後來接觸到了screen命令,覺得著實好用,在這裡極力推薦。

可以簡單的認為用這個命令你可以為不同的任務開不同的視窗,這個視窗之間是可以切換的,同時,視窗和你的會話連線基本上沒有任何區別,這樣你可以在開乙個連線的時候同時幹多件事情,並且在終端看得到執行過程的同時而不會由於斷網而導致**停止執行。其常用命令如下:

建立乙個視窗

screen -s pelee#建立乙個視窗,pelee為視窗名

當你執行完以上命令後,就會自動跳入名為pelee的視窗,在這個視窗裡可以**想幹的事情。

當你不想呆在這個視窗時,你可以通過快捷鍵ctrl+a+d斷開這個視窗的連線而回到連線會話介面。

檢視已建立的所有視窗

$screen -ls#可以檢視已建立的所有視窗

執行上述指令後,出現如下結果,說明建立了兩個視窗,可以看到視窗的名字和id,detached說明視窗是斷開的,再次強調這裡的斷開是指沒有讓他顯示,其對應的任務是在後台執行的。

重新連線detached的視窗

如果想看其中乙個視窗任務的執行狀態,可以通過如下指令:

$screen -r pelee#重新連線到pelee視窗,顯示其執行過程

殺死某個視窗

1.如果想直接停止某個視窗任務的執行,可以直接通過殺死id的方式

$kill -9 28475(終止id為28475的視窗對應任務的執行,同時殺死該視窗 )

2.在該視窗內敲exit,就可以徹底刪除該視窗以及視窗內的作業

3. -wipe  檢查目前所有的screen作業,並刪除已經無法使用的screen作業

視窗連線不上的情況

用 screen -ls, 顯式當前狀態為attached, 但當前沒有使用者登陸些會話。screen此時正常狀態應該為(detached)

此時用screen -r ,怎麼也登不上。最後找到解決方法:screen -d -r <session-id>

-d -r 先踢掉前一使用者,再登陸。

總結一下,screen可以實現**在後台執行時的視覺化,同時,能在開乙個會話連線時建立多個視窗處理不同的任務。用起來也很方便。

阿里雲伺服器後台執行hexo部落格

德魯大叔擼 第一步 伺服器安裝pm2 npm install g pm2第二步 編寫啟動檔案 run.js並放在部落格的根目錄下 const require child process exec hexo server p 80 error,stdout,stderr return console....

伺服器後台執行python指令碼

後台執行python指令碼 python py 符號代表的就是後台執行。注意 此方法在使用者登出後,指令碼也就自動退出了。nohup python py 這個命令保證了在使用者登出之後,指令碼還會繼續後台執行。nohup命令 如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使...

讓Erlang伺服器後台執行

讓erlang伺服器後台執行 erlang預設執行時是帶有終端的,在開發過程中可以很方便的檢查程式的bug,但在開發完成後,應該以後臺的方式執行服務。noshell 該引數關閉終端,但依然不會後台執行,有輸出時會直接列印到當前螢幕 noinput 禁止終端下的輸入 hidden 隱藏執行 detac...