
我連接到遠端伺服器,並運行以下命令:
cat /dev/zero > /dev/null & disown %-
然後我這樣做logout
,並重新連接,並ps
顯示沒有cat
進程正在運行。為什麼?
答案1
這個指令對我有效。看來需要消耗很多資源。也許你想嘗試:
sleep 999 & disown %-
ps aux | grep sleep
並在重新登入後執行 a 。
但是,如果您知道要在啟動該進程之前否認該進程,則可以使用 nohup:
nohup sleep 999
答案2
使用%%
或%+
用於「目前」(最近後台)作業。%-
是為了以前的作業,這是第二個最近停止或後台運行的作業。如果只有一份工作,它們的意思是一樣的。但是,如果您在 shell 會話或腳本的早期部分留下了一些後台作業,那麼您使用的方式%-
可能不是針對您認為的作業。