如何在 CentOS 中管理後台進程

如何在 CentOS 中管理後台進程

我正在使用 CentOS,但不知道如何:

  1. 顯示目前後台進程/作業(我運行的)的清單。
  2. 如何在背景運行進程。
  3. 如何停止後台進程。

我想在後台運行的命令如下所示:

activator run

到目前為止,我只找到了這個命令(在後台運行進程)。

nohup activator run &

答案1

這大概主要取決於你的外殼bash(1)。大多數其他現代 shell 都提供類似(甚至相同)的作業控制設施。

  • 若要在背景啟動命令,請執行command &nohup command &(如果您想登出並仍使其運行)
  • 若要停止正在執行的命令,C-z(ctrl-Z),請將停止的命令置於背景執行bg。當fg您將其帶回前台時,它jobs會告訴您哪些內容已停止或處於後台。kill %k殺死 job number kfg %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 來停止它

相關內容