首页 > 解决方案 > 检查是否安装了 Linux“屏幕”包

问题描述

我需要一种方法来检查是否安装了 Linux Screen 包,但通过 Java 代码。我想知道是否有内置功能?此外,该解决方案必须与所有主要的 Linux 发行版和 MacOS 兼容。有任何想法吗?

标签: javalinuxmacosgnu-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();
                }
            }
        }

推荐阅读