启动后台进程时 ADB 进程阻塞
ADB process blocks when starting background process
我正在尝试通过 ADB 在 Android phone 的后台 运行 一个 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,睡眠进程保持 运行ning,因此 nohup 部分似乎工作正常。
如何在生成子进程后让 adb 退出而不强制终止主机端的 adb 进程?
adb shell 'nohup sleep 10 2>/dev/null 1>/dev/null &'
按预期工作 - 启动进程并且不阻塞。
我正在尝试通过 ADB 在 Android phone 的后台 运行 一个 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,睡眠进程保持 运行ning,因此 nohup 部分似乎工作正常。
如何在生成子进程后让 adb 退出而不强制终止主机端的 adb 进程?
adb shell 'nohup sleep 10 2>/dev/null 1>/dev/null &'
按预期工作 - 启动进程并且不阻塞。