Ps
什麼是'111+ 退出 1’ 響應是什麼意思?
我執行了這個命令來嘗試讓我的 python 程序在後台執行,並讓我退出我正在使用的 SSH 連接:
nohup python files.py >> files.log &
然後我
ps
檢查它是否有效$ ps a PID TTY STAT TIME COMMAND 13059 pts/0 Ss 0:00 -bash 13327 pts/0 R+ 0:00 ps a [1]+ Exit 1 nohup python files.py >> files.log
這是什麼
[1]+ Exit 1
意思?我怎樣才能在後台執行我的程序讓我正確退出?
當您
&
在 bash 中的命令末尾使用 時,它會在後台執行該命令。[1]+ Exit 1
表示作業 1 以狀態 1 退出。中間的數字是[]
作業號,後面的數字Exit
是退出狀態。如果沒有顯示退出狀態,則表示命令以 status 退出0
。在執行另一個命令之前您看不到這個的原因是因為預設情況下,在提示更新之前不會顯示已完成的後台命令的狀態。這意味著在另一個命令退出後,或者您只需按
<ENTER>
一個空提示。編輯:
您也不需要使用
nohup
. 當 shell 本身接收到 HUP 時,Bash 只會 HUP 一個程序。exit
如果您完全退出(通過或 CTRL+D),則不會發生這種情況。但是,您也可以使用
disown
內置功能來製作它,這樣特定工作就不會獲得 HUP。最後,您還可以設置一個 SIGHUP 處理程序,以在 shell 通過執行
function sighup { disown -a; exit 0; }; trap sighup HUP
.