1

我正在使用 sublime text 2 的构建系统来帮助开发我的 mongodb + node.js 服务器,这真的很方便,因为它使我能够测试我的代码而不必继续返回到终端。缺点是很容易心不在焉地让多个节点进程在后台运行,当其中一个节点使用我需要的端口来测试另一个模块时,这有时会导致冲突。

每当我从该目录启动新进程时,是否有某种方法可以停止在给定目录中运行的所有节点进程?一个bash脚本或类似的?

4

1 回答 1

0

尝试这样的事情:

ps auxwwwe | egrep " [n]ode .+ PWD=$PWD" | awk '{ print $2 }' | xargs kill

这将执行以下操作:

  1. 用于ps获取流程的完整路径。
  2. 在当前工作目录中搜索使用该node命令启动的所有进程(您可以使用绝对路径、另一个环境变量等进行修改)。
  3. 查找第二列:pid(使用awknawk取决于您的系统)。
  4. kill在每个 pid 上运行。
于 2013-02-04T19:42:53.230 回答