![Linux 在特定字串後與進程分離](https://rvso.com/image/658345/Linux%20%E5%9C%A8%E7%89%B9%E5%AE%9A%E5%AD%97%E4%B8%B2%E5%BE%8C%E8%88%87%E9%80%B2%E7%A8%8B%E5%88%86%E9%9B%A2.png)
所以,我有一個啟動網路伺服器的命令,它一步一步地將輸出輸出到標準輸出。它是這樣的:
step 1...
step 2...
step 3...
server up and running on port 9000
但是,這會陷入等待使用者輸入(這是類型安全啟動器)的狀態,並且從命令列啟動時不會完成。如何從等待使用者輸入的腳本中分離出來並讓它運行,但繼續使用父 shell?我想在看到伺服器正在運行時立即分離。
答案1
選項#1:當伺服器運行時,鍵入Ctrl+Z
和bg
。Ctrl+Z
將暫停進程執行並將bg
進程傳送到後台,釋放 shell 以取得新的使用者輸入。警告:您的伺服器與正在執行的 shell 綁定。如果您從該 shell 註銷,伺服器將被終止。
選項#2:使用 啟動腳本nohup
,這將運行與終端分離的腳本。例:nohup ./activator
。
選項#3:在會話中啟動腳本screen
,然後透過Ctrl+d
.