下午好,我想知道使用java代码查找带有Linux操作系统的PC的硬盘序列号和matherboard的正确方法。
使用
Process p = Runtime.getRuntime () exec ("hdparm-I / dev / sda | grep Serial")
命令,.要获取硬盘,但该命令未执行。
可以帮帮我吗?谢谢问候!
答案 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);