启动后台进程时ADB进程阻塞

2024-04-19

我正在尝试通过 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”完成。如果我按 CTRL-C 退出 adb,睡眠进程会继续运行,因此 nohup 部分似乎工作正常。

如何让 adb 在生成子进程后退出而不强制终止主机端的 adb 进程?


adb shell 'nohup sleep 10 2>/dev/null 1>/dev/null &'按预期工作 - 启动进程并且不会阻塞。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

启动后台进程时ADB进程阻塞 的相关文章

  • 在 Android 中不断更新新的 JSON

    我有不断变化的 JSON 我需要在 android 中不断更新更改 我该怎么做 我的Android代码是 r getImage JSONObject data new JSONObject r String a data getString
  • 在Android市场发布测试版

    我想要publish a 测试版我在 Android 市场上的一些应用程序 面临着我无法两次上传具有相同包名的应用程序的问题 即使使用不同的证书也是如此 但是发布版和测试版有 2 个包名会带来很多麻烦 例如每次都必须更改对 R 不同位置的引
  • unix 命令行执行方式为 . (点)与没有

    在 unix 命令行中 通过简单地键入程序名称来执行程序与通过键入 点 后跟程序名称 例如 runme vs runme name来源称为文件name进入当前外壳 所以如果一个文件包含这个 A hello 然后 如果您获取它 之后您可以引用
  • 嵌套 CollectionView 和显示(使用 Visual Studio 2019、Xamarin XPlatform Android)

    嵌套 CollectionView 并在另一个中滚动 官方支持吗 显示这些集合问题 请参阅下面的我的数据模型和 XAML 代码 我没有可以放置生成的屏幕图像的站点 namespace Notes Models public class No
  • Hilt:为什么是 ActivityRetainedScoped 与 ViewModelScoped

    我试图理解为什么ActivityRetainedScoped为希尔特的 DI 引入 在我看来 范围与ViewModelScoped应该做 我的印象是作用域是这样工作的 AppScope singleton gt ViewModelScope
  • 使对话框/活动始终位于顶部

    如何将对话框 活动保持在其他活动之上 无论用户是否在活动之间切换 它都应该始终处于活动状态 您可以使用相对布局作为父级 通过使用相对布局 您可以重叠其他布局 所以 你必须使用相对布局的两个子布局 在一个孩子中 您将弹出窗口 而在另一种布局中
  • 了解 Android 上的默认键盘

    我想知道 Android 中用户选择的默认键盘 我知道我可以使用以下命令访问启用的输入法列表InputMethodManager 但我想知道用户当前使用的是哪一个 到目前为止 我已经尝试获取当前的输入法子类型 InputMethodMana
  • 将列表视图项转换为单个位图图像

    参考这个主题 Android 获取所有 ListView 项目的屏幕截图 https stackoverflow com questions 12742343 android get screenshot of all listview i
  • Android 11 - 访问我的应用程序 Android/Data 文件夹中的文件

    由于某种原因 我真的很挣扎 希望有人能帮助我指明正确的方向 我的目标是 Android 11 API 30 这似乎是所有问题的根源 降低目标可能对我有用 但谷歌似乎最终会迫使我走上这条路 所以我不妨弄清楚这一点 我的应用程序通常会按照标准写
  • Android asmack:stateChange 从未被调用

    我正在使用 asmack xmpp 客户端构建一个聊天应用程序 聊天工作正常 我已经实施了ChatStateListener but stateChanged方法永远不会被调用 目前 为了获取撰写状态 我正在解析消息 xml 以下是撰写 文
  • 如何单击 TableLayout 中的特定 TableRow

    我制作了自己的复合控件 该控件使用 TableLayout 显示数据网格 并根据绑定到它的对象数组以编程方式在循环内添加 Tablerows 现在我想选择具有特定数据的特定行 以便由一个方法 那么我如何选择检索其数据的特定行来委托方法呢 你
  • 共享 Google 地图或拍摄 Android 手机屏幕截图

    我正在使用 android google map api v2 开发 android 应用程序 到目前为止我已经取得了以下成绩 打开谷歌地图显示用户的位置 当他行走时 他可以在地图上添加标记 标记他经过的地方 他可以删除标记或拖动它们 我现
  • Android编程-多个列表视图的onitemclicklistener不起作用

    在我的活动中 我创建了七个列表视图 并使用 viewpager 在同一活动中在它们之间滑动 然后我有一个 sqlite 数据库填充每个列表视图 我的问题是 onitemclicklistener 不起作用 没有错误 代码执行正常 但列表项点
  • Android 有类似 mechanize 这样的工具吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在创建一个 Android 应用程序 它必须在后台进行一些网上冲浪 以便为用户提供服务 我必须连接
  • 如何在Android模拟器中找到数据库文件的路径?

    我正在 Android 模拟器中执行一些 sqlite 查询 我想知道数据库文件存储在哪个路径 请给我一些如何找到它的想法 如果你能给我一些代码片段 乌尔 s 库马兰 数据库通常存储在 data data your applications
  • 如何展开和折叠列表视图中的项目

    我对安卓还很陌生 我想实现一个列表视图 它包含一些列表项 当单击它们时 它们应该展开以显示更多信息 但我找不到办法做到这一点 这是我的activity main xml
  • 为什么我在模拟器中看不到视频?

    我见过几个与此类似的问题 但我想确定一下 我无法在模拟器上运行视频 是否一致 有人在模拟器上成功运行视频吗 以下是我使用的代码 import android app Activity import android net Uri impor
  • Fragment中有类似setResult()的方法吗?

    我正在使用一个片段 我收到错误onResult 方法 我需要一个替代方法setResult RESULT OK data 我可以在我的片段中使用它 请帮忙 日历片段 package app pal study samplestudy imp
  • 如何移动随 Visual Studio 2017 安装的 Android SDK 文件夹?

    我已将 VS 2017 安装在其默认路径 C 驱动器 中 但由于 Android 文件夹较大 它耗尽了我的大部分驱动器空间C Users USERNAME Local Android 该文件夹是由 VS 2017 安装程序自动创建的 如何将
  • 在大型文本文件中查找重复记录

    我在一台 Linux 机器 Redhat 上 并且有一个 11GB 的文本文件 文本文件中的每一行包含单个记录的数据 并且该行的前 n 个字符包含该记录的唯一标识符 该文件包含略多于 2700 万条记录 我需要验证文件中不存在具有相同唯一标

随机推荐