我正在编写一个 Java 应用程序,其中(除其他外)我将安装一个外部设备,进行一些复制,然后卸载它。
//I am mounting several devices in created dirs named sdb, sdc... according to the partitions
String[] command = {"gksu", "mount", "/dev/sd" + letter + "1", "mounter/sd" + letter};
Runtime.getRuntime().exec(command);
这在终端和我的程序中都可以正常工作。
为了更快地卸载,我考虑过使用umount -a
但gksu umount -a
在终端中不起作用,因此在 Java 程序中不起作用。sudo umount -a
确实在终端中工作,但不在应用程序中。同时,我通过一个接一个地卸载设备来让它工作,但如果我能umount -a
以某种方式开始工作会更干净。
如果您理解为什么 gksu 不能与 umount 或 sudo 与 Runtime.exec() 一起使用,我会接受您的解释。
谢谢