我有这个 bash 文件,我用来运行我的角度应用程序:
#!/usr/bin/env bash
yarn start
我正在通过IntelliJ IDEA"运行/调试配置"菜单运行此文件作为可运行的目标。
问题是:当我要求 IDEA 停止 bash 运行时,它停止了它,但没有杀死节点进程,并且我让端口仍然打开。
我的解决方法是将 bash 文件编辑为如下所示:
#!/usr/bin/env bash
echo "cleaning from previous run...."
ps -W | awk '/node.exe/,NF=1' | xargs kill -f
echo "done cleaning"
yarn start
附言我在Windows中使用Cygwin。
使用特殊的出口陷阱:
trap 'clean_exit' EXIT
clean_exit() {
ps -W | awk '/node.exe/,NF=1' | xargs kill -f
}
陷阱在出口处注册clean_exit
。