我正在尝试通过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中断掉,睡眠进程仍然在运行,因此nohup部分似乎工作正常。
我如何在生成子进程后使adb退出而不强制终止主机端的adb进程?
adb shell 'nohup sleep 10 &>/dev/null &'
是一个更短的版本。 - Hritik