ProcessBuilder不会删除磁盘上的子卷吗?

时间:2019-08-14 20:02:14

标签: java ubuntu process

我正在尝试删除磁盘上的子卷(该子卷使用btrfs subvolume delete NAME运行),但是由于某些原因,它似乎不起作用。

陌生人,它输出的命令 会删除磁盘上的子卷。

我知道流程生成器将varargs用于命令/参数,但是我不确定这里发生了什么,它表示找不到要删除的子卷,但是如果我从konsole运行它,它找到了。

processOP("btrfs", "subvolume", "delete", ROOT_SNAPSHOT_FOLDER + "/*"

processOP方法:

public static void processOP(String... commands) throws IOException {
        ProcessBuilder builder = new ProcessBuilder(commands);
        builder.inheritIO();
        //Print out FFMPEG Command
        logger.info("COMMAND: " + builder.command().stream().collect(Collectors.joining(" ")));
        //Actually do it
        Process proc = builder.start();
    }

输出:

COMMAND: btrfs subvolume delete /media/sarah/NihilisticAutomaton/Snapshots/*

ERROR: Could not statfs: No such file or directory

但是此命令在konsole上运行,并且我在Snapshots文件夹中放置了一个新的子卷,作为测试将其删除。

编辑0:该程序需要作为根BTW运行。它以root身份运行。

编辑1:我有一种明显的感觉,那就是它将通配符*解释为原义路径。 ProcessBuilder不允许这样做吗?

0 个答案:

没有答案