我正在尝试通过ADB在Android手机的后台运行shell脚本。为了简化让我们让它睡100:
$ adb shell
$ echo "nohup sleep 100&" > /data/local/tmp/test.sh
$ sh /data/local/tmp/test.sh
(does not block and returns to the shell immediately as expected. However:)
$ exit
(blocks until the sleep process is done)
通过单个adb命令行执行相同操作也会阻塞:
$ adb shell sh /data/local/tmp/test.sh
是否正确运行脚本,但adb调用会阻塞,直到“sleep 100”完成。如果我从adb中移出CTRL-C,睡眠过程会继续运行,因此nohup部分似乎正常工作。
如果在没有强制终止主机端的adb进程的情况下生成子进程,如何让adb退出?