android - Nohup 替代方案 - 关闭 adb 后运行持久脚本

标签 android shell adb nohup

在拔下电话后,我无法通过 ADB 在我的非 root 用户 Mate 10 上(在后台)运行脚本。

我尝试使用 nohup 命令,该命令一直适用于其他 Android 设备,但无济于事。我知道 nohup 仅防止 SIGHUP 和 SIGQUIT 信号,因此设备可能会发送不同的信号来终止进程。

我还尝试生成一个子任务,该任务运行脚本以尝试“隐藏”生成的进程,并尝试调用 /system/bin/sh 在具有两者的 shell 中生成一个 shell也失败了。

有没有人对非 root Android 操作系统的 nohup 替代品有一些想法或关于如何解决此问题的任何其他想法?

编辑:disownscreen 不存在于 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 ,一切都会像什么都没发生一样。

链接:gnu screen manual

后台推送

[your_command] &>/dev/null &

&>/dev/null 将所有命令输出重定向到一个黑洞。

& 在后台运行进程。

关于android - Nohup 替代方案 - 关闭 adb 后运行持久脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47147134/

相关文章:

android - 处理抽屉导航和操作按钮的 onOptionsItemSelected

android - 选择器的 ListView 项目 LongClick 状态

Android覆盖hosts文件

android - am start 找不到 list 中列出的主要 Activity

Android 11 - 无线 ADB 配对 - Windows 机器

java - setFlags 后工具栏与状态栏重叠

android - 请迁移 JSON-RPC 和全局 HTTP 批处理端点 - Google Drive API

android - 运行 shell 命令从 Android 应用程序复制文件

php - 使用 php 执行 shell 脚本

ruby - 处理文件列表以格式化 web 文件名(简单)