在java操作系统中获取主板和硬盘的ID?

时间:2014-02-07 17:50:45

标签: java linux

下午好,我想知道使用java代码查找带有Linux操作系统的PC的硬盘序列号和matherboard的正确方法。

使用

Process p = Runtime.getRuntime () exec ("hdparm-I / dev / sda | grep Serial")

命令,.要获取硬盘,但该命令未执行。

可以帮帮我吗?谢谢问候!

2 个答案:

答案 0 :(得分:1)

如果要从Java执行shell管道,则必须显式调用shell(即bash)并将其传递给要执行的命令。 Runtime#exec()除非您告诉它,否则不会调用shell。

Process p = Runtime.getRuntime().exec("/bin/bash -c\"hdparm -I /dev/sda | grep Serial\"");

答案 1 :(得分:0)

  

Matherboard

Process process = Runtime.getRuntime()。exec(new String [] {“wmic”,“bios”,“get”,“serialnumber”});

    process.getOutputStream().close();
    Scanner sc = new Scanner(process.getInputStream());
    String property = sc.next();
    String serial = sc.next();
    System.out.println(property + ": " + serial); 
  

的硬盘来

处理进程= Runtime.getRuntime()。exec(new String [] {“wmic”,“diskdrive”,“get”,“serialnumber”});

    process.getOutputStream().close();
    Scanner sc = new Scanner(process.getInputStream());
    String property = sc.next();
    String serial = sc.next();
    System.out.println(property + ": " + serial);