立即通过bash脚本启动和停止多个进程

时间:2015-11-06 10:08:24

标签: node.js bash terminal

我正在编写一个简单的bash脚本来启动多个服务,以便能够通过一个命令轻松启动本地开发环境

我所做的是创建一个循环所有子目录的bash脚本,并使用适当的命令启动它们(我的所有程序都是nodejsangular个应用程序)。我想避免硬编码,所以每次添加新服务时我都可以自动启动并运行。

这就是我写的

for d in `ls -d */`
do
    ( cd $d 
      if [ ! -f bower.json ]; then # skip clients
        NODE_ENV=dev node index &
      fi
      if [ -f bower.json ]; then
        grunt serve &
      fi
    )
done

通过使用&运算符,我可以启动所有进程,当我需要停止它们时,我需要ps -a并自动终止它们。

当我CTRL+C文件时,我想让所有人停下来。 寻找答案总是带我一个硬编码的解决方案,人们总是知道要运行什么命令。

在这种情况下,在ls命令返回之前,将不知道将执行多少个命令。

有没有办法正确地将进程作为一个或至少一种方式存储pids处理,然后立即终止所有这些(可能使用SIGINT处理程序)?

0 个答案:

没有答案