在拔下电话后,我无法通过 ADB 在我的非 root 用户 Mate 10 上(在后台)运行脚本。
我尝试使用 nohup 命令,该命令一直适用于其他 Android 设备,但无济于事。我知道 nohup 仅防止 SIGHUP 和 SIGQUIT 信号,因此设备可能会发送不同的信号来终止进程。
我还尝试生成一个子任务,该任务运行脚本以尝试“隐藏”生成的进程,并尝试调用 /system/bin/sh 在具有两者的 shell 中生成一个 shell也失败了。
有没有人对非 root Android 操作系统的 nohup 替代品有一些想法或关于如何解决此问题的任何其他想法?
编辑:disown
和screen
不存在于 Mate 10 的 shell 中,因此无法使用。
最佳答案
有几个选项:
否认
您可以结合disown
和&
将您的脚本推送到后台
$ disown [your_command] &
[your_command] can be checked by the jobs command. Once typed you will
$ jobs
[1]+ Running [your_command]
屏幕
是一个虚拟终端。即使您的 session 断开连接,屏幕也会继续运行。当您重新连接到服务器时,您可以重新连接到屏幕 session ,一切都会像什么都没发生一样。
后台推送
[your_command] &>/dev/null &
&>/dev/null
将所有命令输出重定向到一个黑洞。
&
在后台运行进程。
关于android - Nohup 替代方案 - 关闭 adb 后运行持久脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147134/