【问题标题】:Execute shell commands in same process of your app在您的应用程序的同一进程中执行 shell 命令
【发布时间】:2013-12-17 22:38:18
【问题描述】:

我正在尝试以编程方式卸载和安装 USB 设备。我可以使用以下命令在 adb 中执行此操作:

umount /mnt/usb1
mount -t vfat -o rw /dev/block/sdb /mnt/usb1

但是当我尝试从我的应用程序执行这些命令时,它不起作用。这是我使用的代码:

Process proc = Runtime.getRuntime().exec(
                    new String[] { "/system/xbin/su", "-c",
                            "umount /mnt/usb1" });
proc.waitFor();

Process pr = Runtime.getRuntime().exec(new String[] {
              "/system/xbin/su", "-c",
              "mount -t vfat -o rw /dev/block/sdb /mnt/usb1" });
pr.waitFor();

exec() 方法的描述说:“在单独的本机进程中执行指定的命令及其参数。”所以我认为该命令有效,但在不同的进程中。在我的应用程序运行的过程中,没有任何影响。所以我想在我的应用运行的过程中执行这些命令。

感谢question,我可以获得进程 ID。有没有办法使用这个进程ID来调用当前进程并执行shell命令?

【问题讨论】:

  • 嗨,您是否以编程方式解决了它?

标签: android shell process


【解决方案1】:

我认为这是不可能的,因为:can you execute the command to kill the process from the same process。所以目前不可能,可能他们会扩展Process 以包含有限的限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多