我使用RootTools库,我需要执行两个命令。第一个运行二进制文件,第二个运行SIGINT,以杀死它。
RootTools(据我所知)一次只能打开一个根shell,因此命令只能逐个执行。这是一个问题,因为在我运行之后我无法阻止我的二进制文件。
我怎样才能做以下任何事情?
我需要使用RootTools,因为它是我从程序中读取标准输出的唯一方法。但是,如果还有其他方法,请发表评论。
答案 0 :(得分:0)
您认为可以连接命令吗?
假设我要启动find
命令,但如果需要5秒钟,我希望它停止:
find / & sleep 5 && kill $!
我们也可以获得更合适的一个班轮(即忽略标准错误,仅在需要时杀死等)。
您也可以存储PID并稍后将其终止(注意,如果守护程序停止运行,则可以由操作系统重用其PID):
在根shell中运行守护程序
my-daemon >/dev/null & echo "PID: $!"
用Java解析输出并存储PID(SharedPreferences
?)
var pid = outputLine.split(" ")[1]
稍后,使用root shell停止守护程序
kill <pid>