【发布时间】:2020-10-01 02:12:13
【问题描述】:
我需要一种方法来检查是否安装了 Linux Screen 包,但要通过 Java 代码。我想知道是否有内置功能?此外,该解决方案必须与所有主要的 Linux 发行版和 MacOS 兼容。有什么想法吗?
【问题讨论】:
-
你有没有想过在Process中运行
which/whereis/locate?
标签: java linux macos gnu-screen
我需要一种方法来检查是否安装了 Linux Screen 包,但要通过 Java 代码。我想知道是否有内置功能?此外,该解决方案必须与所有主要的 Linux 发行版和 MacOS 兼容。有什么想法吗?
【问题讨论】:
which/whereis/locate?
标签: java linux macos gnu-screen
使用命令的退出值which screen
如果您发出命令,则在终端中
which screen
echo Exitcode:$?
你得到
/usr/bin/screen
Exitcode:0
也适用于不存在的命令,
which screeeennn
echo Exitcode:$?
你得到
screeeennn not found
Exitcode:1
在java类中应用相同的逻辑
public class ScreenTest {
public static void main(String args[]) {
int exitValue;
try {
Process p = Runtime.getRuntime().exec("which screen");
exitValue = p.waitFor();
if (exitValue > 0) {
// not installed mostly value will be 1
} else {
//screen present value will be zero
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
【讨论】: