停止当前运行的bash文件后如何执行任意命令

时间:2018-01-29 11:03:01

标签: angularjs bash intellij-idea cygwin

我有这个用于运行My angular application的bash文件:

ngOnInit() {
    this.breakpoint = (window.innerWidth <= 400) ? 1 : 6;
}

onResize(event) {
  this.breakpoint = (event.target.innerWidth <= 400) ? 1 : 6;
}

我通过IntelliJ IDEA运行此文件&#34;运行/调试配置&#34;菜单作为Runnable目标。

问题是:当我要求IDEA停止bash运行时,它会停止它但不会终止节点进程并且我仍然打开了端口。

我的解决方法是将bash文件编辑为:

#!/usr/bin/env bash

yarn start

P.S。我在Windows中使用Cygwin。

1 个答案:

答案 0 :(得分:1)

使用特殊的出口陷阱:

trap 'clean_exit' EXIT

clean_exit() {
    ps -W | awk '/node.exe/,NF=1' | xargs kill -f
}

在退出时陷阱注册clean_exit