java - 如何让runtime.exec()在Java中的多操作系统上工作?

标签 java runtime runtime.exec

我在 OSX 上调用运行时执行时在命令前添加“/bin/bash”、“-c”,例如:

Runtime runtime = Runtime.getRuntime();  
Process process = runtime.exec(new String[] { "/bin/bash", "-c", cmd });  

我知道 Windows 和 Linux 是不同的。如何确保我的运行时命令可以在多操作系统上运行?

谢谢。

最佳答案

使用类似的东西:

    String osName = System.getProperty("os.name");
    if(osName.startsWith("Windows")) {
        // windows code
    } else {
        if(osName.startsWith("Linux") {
             // linux code
        } else {
             // mac code
        }
    }

免责声明:这只是方向性的。您仍然需要测试许多极端情况(例如 FreeBSD)才能获得正确的行为。

关于java - 如何让runtime.exec()在Java中的多操作系统上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200904/

相关文章:

java - Java 编译器或 JVM 是否会忽略优化语句?

java和nlp提取信息(恶意软件名称)和过滤

c++ - 如果最终用户需要链接到调试 CRT,分发 SDK 的最佳方式是什么?

serialization - 在 visual studio 2010 上找不到 System.Runtime.serialization.dll

java - 使用 Runtime.exec 未打开我的 xls 文件

java - 无法将 jsp 中的值分配给嵌套的 ArrayList 变量

Android apk 文件动态构建

java - 无法从 Java 启动 .exe

java - Jboss Seam Interpolator : could it be use for execute command (java. lang.Runtime.exec)?

java - 不支持的 major.minor 版本 51.0,但所有内容都设置为 JDK 1.6