Linux 使用者退出後,使用者程式後台執行的方法介紹

2021-08-09 19:27:27 字數 961 閱讀 2709

nohup mono hello.exe >/dev/null &

綠色區域表示啟動程序的命令
當使用shell時,在命令前面加上nohup可以阻止當使用者登出或退出shell後的命令自動終止

nohup表示「no hangup」.

hangup(hup)訊號通常會被傳送給程序以通知它使用者已經退出了。但是nohup會將這個訊號給攔截,從而實現程序繼續執行。

如果標準輸入是終端,nohup會將其重定向到/dev/null。所以終端的輸入在使用nohup時是不被接受的

如果標準輸出是終端,nohup會將其重定向到nohup.out,如果當前資料夾許可權不夠,會將其重定向到/home/nohup.out

如果標準錯誤是終端,nohup會將其重定向到標準輸出,標準輸出在之前被重定向到nohup.out了,所以錯誤也會寫入nohup.out中

如果要自定義接收的輸出檔案,可以使用檔案重定向 nohup command > filename

nohup mycommand
執行此命令時,將不會接受使用者輸入。所有的輸出包括錯誤資訊都會被寫入到當前目錄或home目錄下的nohup.out檔案下,如果mycommand執行後退出使用者或者關閉終端,mycommand命令不會停止

nohup mycommand &
和前面的命令一樣,但是帶有&的命令會立刻返回到shell。命令結尾的&符號指示bash在後台執行。後台執行的命令可以通過內建的fg命令轉換為前台

當使用&的時候,會顯示job id和程序id。如[1] 9935

可以通過使用程序id提前終止程序。比如使用下列指令kill -9 9935

一般來講啟動程序後再使用kill指令報錯,一般都是程序沒執行起來,可以通過ps aux | grep 程序名 來查詢程序是否正常執行並在nohup.out中查詢相關日誌資訊

Linux下修改profile後使用者無法登陸的問題

etc profile裡設定環境變數導致無法登入解決 1,因為不小心在 etc profile裡設在環境變數導致無法登入 不要在 etc profile裡設定 export path這樣會導致重啟後登入不了系統 在登入介面 alt ctrl f2進入命令模式,如果不是root使用者需要鍵入 root...

Ubuntu轉到root使用者後使用者名稱路徑沒有顏色

看到好多都直接把普通會使用者的.bashrc配置複製到root家目錄下,由於本人小白,很多.bashrc配置看不懂,也不敢隨便修改。於是找到別的配置方法。普通使用者的os a 和root使用者的root a 這種命令之前的提示符是環境變數ps1決定的。把root使用者的ps1換成普通使用者的ps1就...

使用者非正常退出

判斷使用者非正常退出使用場景。比如 乙個賬號不能重複登入,這時就需要判斷使用者登入狀態。非正常退出情況 1.伺服器端系統異常。2.會話超時。3.未退出的情況下,關閉瀏覽器。4.使用者網路不穩定掉線。5.使用者在登入的狀態下,關機 掉電 了 通常的做法是 允許重複登陸,但是上乙個會話就終止了 擠掉上乙...