我正在嘗試學習使用 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
。這些是為在背景運行程式(帶有可選參數)而設計的,您也可以輕鬆地再次停止它們。