【发布时间】:2016-05-17 03:54:16
【问题描述】:
我想放弃 Process 的重定向错误。 我也知道 apache 中 NullWriter 的存在。 但是,Process 只接受 File,不是吗?
据我所知,像 /dev/null 这样的特殊文件(空设备)在 Windows 中有另一个路径,例如..
所以我的问题是我是否以及如何获得这样的路径? 否则,我应该为每个操作系统或平台手动设置一个吗?
我的代码是
File bitBucket = isUnix())? new File("/dev/null"): new File("NULL");
ProcessBuilder pb = new ProcessBuilder("mpirun", "-np", 100, "mpi-tip").redirectError(bitBucket);
pb.start();
我想更改第一行 文件 butBucket = getNullDevice(); // 像这样。
如果只有 ProcessBuilder 支持 Writer,我可以使用 NullWriter...
【问题讨论】:
-
不清楚你想做什么。在您要求
get a path to the bit bucket的主题中,在您想要to abandon redirect error的解决方案的描述中。你想达到什么目标?从子进程重定向错误流输出(stderr)? -
重定向是我的目的,也是我想问如何获取bit bucket的路径的原因。
-
也许还值得解释一下
bit bucket的含义。显示一小段代码,显示您的问题。 -
感谢您的评论。 “位桶”是指空设备,如 /dev/null 或 NUL 或......我的代码是这个 File bitbucket = new File("/dev/null"); // !!这里!!它将在 Windows 中为 NULL,但我喜欢做 File bitbucket = getNullDevice();例如 new ProcessBuilder("mpirun", "-np", String.valueOf(np), "mpi-tipsv") .redirectError(bitbucket)