私は、(他のものの中でも) 外部デバイスをマウントし、コピーを行ってからアンマウントする 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
端末では機能しますが、アプリケーションでは機能しません。その間、デバイスを 1 つずつアンマウントして動作させましたが、何とか動作させることができればよりクリーンになりますumount -a
。
gksu が umount で、または sudo が Runtime.exec() で機能しない理由を理解していれば、あなたの説明を聞きます。
ありがとう