我正在尝试学习使用 Bash 脚本,但遇到了一个奇怪的错误。
我打开一个终端并使用以下命令运行了一个 npm 程序:
node index.js &
这是运行一个 express.js API,我可以在我正在制作的 UI 中使用它。
此后我关闭并退出终端,
但是当我打开邮递员时,我的api仍然在运行!
当我使用 $ ps 或 $ jobs 时它没有显示。
我如何找到并关闭该程序?
ps 我正在使用最新版本的 Mac OS。pps 如果这个问题已经被问过了,我很抱歉。
答案1
退出终端后如何终止进程
您有多种选择,但关闭所有node
进程的最简单的方法是:
killall node
或者,获取进程列表ps -ef
并找到要终止的进程:
ps -ef | grep "node" | grep -v grep
仅运行ps
是不够的。PID 将显示在第二列中,因此请运行:
kill <pid>
<pid>
进程 ID 在哪里。
该怎么办呢?&
如果你希望在开发过程中始终运行某个程序(例如 Web 服务器),则可以使用以下工具:forever
。它们用于在后台运行程序(带有可选参数),您也可以轻松地再次停止它们。