CNode

通过 proc.kill 关闭一个 yarn 任务, 任务没有关闭成功?

问答
Jjiyinyiyong发布于8 年前最后回复8 年前2 回复6045 浏览0 收藏

做了个玩具, 用图形界面管理某些开发的进程. 遇到个问题, 我有个任务是用 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)

Y
yorkie#1·8 年前

换proc.kill(2)试试

J
jiyinyiyong#2·8 年前
参与回复
登录后即可参与回复。登录