【问题标题】:Check if Linux "Screen" package is installed检查是否安装了 Linux“屏幕”包
【发布时间】:2020-10-01 02:12:13
【问题描述】:

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

【问题讨论】:

标签: java linux macos gnu-screen


【解决方案1】:

使用命令的退出值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();
                }
            }
        }

【讨论】:

  • 我不敢相信我没有通过这件事。谢谢!
  • @Noushad Exitcode 在这两种情况下都是 0。在第二个实例中应该是 Exitcode:1
  • @Dimitry 已更改,谢谢提醒!
猜你喜欢
  • 2013-03-23
  • 2010-11-06
  • 2019-01-15
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 2017-04-13
  • 2012-03-28
相关资源
最近更新 更多