通过 proc.kill 关闭一个 yarn 任务, 任务没有关闭成功?
发布于 6 年前 作者 jiyinyiyong 4935 次浏览 来自 问答

做了个玩具, 用图形界面管理某些开发的进程. 遇到个问题, 我有个任务是用 yarn 启动的, 我在 Node 里用 child_process.exec 启动了进程, 然后通过 proc.kill() 杀死进程. 结果发现 yarn 当中的任务仍然在执行. 具体这个任务是 yarn 调用了 java 的一个编译器, kill 执行以后, 那个 java 进程依然在运行着. 我试过 nodejs 或者单纯 shell 的进程, 没有遇到问题. 又试了一下去掉 yarn 直接用process.exec 调用那个 java, 依然是杀不掉的. 命令行当中 Control C 是可以正常 kill 掉整个任务的 java 进程的. 那么从 proc.kill() 杀进程和 Control C 杀进程差别多大? 是不是我需要使用别的方式杀掉进程?

2 回复

换proc.kill(2)试试

回到顶部