如何在終端機中關閉後台程式 macOS

如何在終端機中關閉後台程式 macOS

我正在嘗試學習使用 Bash 腳本,但遇到了一個奇怪的錯誤。

我打開終端機並使用以下命令運行 npm 程式:

node index.js &

這正在運行一個express.js API,我可以在我正在製作的UI中使用它。

之後我關閉並退出終端,

但是當我打開郵遞員時,我的 api 仍在運行!

當我使用 $ ps 或 $ jobs 時它不會顯示。

如何找到並關閉該程式?

ps 我使用的是最新版本的 Mac 作業系統。 pps 如果這個問題已經被問過,我很抱歉。

答案1

退出終端後如何殺死進程

您有多種選擇,但關閉所有node進程的最簡單的選擇是:

killall node

或者,取得進程清單ps -ef並找到您要終止的進程:

ps -ef | grep "node" | grep -v grep

僅僅跑步ps是不夠的。 PID 將顯示在第二列中,因此運行:

kill <pid>

<pid>進程ID在哪裡。

該怎麼做而不是&

如果你想讓一個程式在開發時一直運行,例如Web伺服器,你可以使用諸如forever。這些是為在背景運行程式(帶有可選參數)而設計的,您也可以輕鬆地再次停止它們。

相關內容