我正在使用 CentOS,但不知道如何:
- 顯示目前後台進程/作業(我運行的)的清單。
- 如何在背景運行進程。
- 如何停止後台進程。
我想在後台運行的命令如下所示:
activator run
到目前為止,我只找到了這個命令(在後台運行進程)。
nohup activator run &
答案1
這大概主要取決於你的外殼bash(1)
。大多數其他現代 shell 都提供類似(甚至相同)的作業控制設施。
- 若要在背景啟動命令,請執行
command &
或nohup command &
(如果您想登出並仍使其運行) - 若要停止正在執行的命令,
C-z
(ctrl-Z),請將停止的命令置於背景執行bg
。當fg
您將其帶回前台時,它jobs
會告訴您哪些內容已停止或處於後台。kill %k
殺死 job numberk
,fg %k
(或 plain%k
)將其帶到前台。您可以透過(或簡單地)k
在背景啟動停止的作業。bg %k
%k &
還有一點。
另一種非常靈活的方法是使用screen(1)
,檢查它的手冊頁。使用它,您可以啟動命令並斷開連接,然後從另一個終端(或透過「網路」的另一台機器)進行連接。
答案2
你的方法應該有效...
開始工作nohup activator run &
檢查正在運行的內容jobs -l
用 停止它kill PID
(你可以用 取得 PID ps -ef | grep activator
)
我個人更喜歡screen
——http://linux.die.net/man/1/screen
開始工作screen -d -m activator run
檢查螢幕會話screen -ls
透過存取螢幕視窗並screen -x
後面跟著螢幕會話 ID 來停止它