【发布时间】:2020-09-25 04:52:47
【问题描述】:
最近,我正在尝试使用Runtime.getRuntime().exec(command) 的Android 子进程,发现我可以销毁NodeJS http 服务器但无法销毁Go http 服务器。
对于node 和go 二进制文件,可从Termux 获得;
- 节点http服务器:https://github.com/stallpool/halfbase/tree/master/nodejs/tinyserver/index.js
- 去http服务器:https://github.com/stallpool/halfbase/blob/master/golang/tinyserver/main.go
对于node子进程,可以在AndroidService和p.waitFor()中启动;到时候可以被p.destroy()杀死
但是对于go子进程,p.destroy()甚至p. destroyForcibly()可以启动但不能杀死;在这篇文章 https://medium.com/honestbee-tw-engineer/gracefully-shutdown-in-go-http-server-5f5e6b83da5a 中,它确保可以优雅地关闭 go 服务器,我尝试过,但 p.destroy() 仍然不起作用。
如果有人可以为我提供一种终止进程的方法,我们将不胜感激。谢谢!
【问题讨论】:
标签: android go subprocess kill-process