cpu 序列号 linux(cpu最下面一排编号)

其实cpu 序列号 linux的问题并不复杂,但是又很多的朋友都不太了解cpu最下面一排编号,因此呢,今天小编就来为大家分享cpu 序列号 linux的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

跪求在JAVA里如何获得CPU的序列号,和硬盘的序列号。

利用Runtime call操作系统的命令,具体的命令取决于不同的操作系统,注意不要调用Runtime.getRuntime().exec(String)接口,要用Runtime.getRuntime().exec(String[])这个接口,不然复杂命令的执行会有问题。例子如下(拿cpu个数,其他类似):

定义命令:

WindowsCmd="cmd.exe/c echo%NUMBER_OF_PROCESSORS%";//windows的特殊

SolarisCmd={"/bin/sh","-c","/usr/sbin/psrinfo| wc-l"};

AIXCmd={"/bin/sh","-c","/usr/sbin/lsdev-Cc processor| wc-l"};

HPUXCmd={"/bin/sh","-c","echo\"map\"|/usr/sbin/cstm| grep CPU| wc-l"};

LinuxCmd={"/bin/sh","-c","cat/proc/cpuinfo| grep ^process| wc-l"};

然后判断系统:

os= System.getProperty("os.name").toLowerCase();

根据不同的操作系统call不同的命令。

*/

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.LineNumberReader;

public class GetMACAddress

{

public String getMACAddress(String ipAddress)

{

String str="",strMAC="",macAddress="";

try

{

Process pp= Runtime.getRuntime().exec("nbtstat-a"+ ipAddress);

InputStreamReader ir= new InputStreamReader(pp.getInputStream());

LineNumberReader input= new LineNumberReader(ir);

for(int i= 1;i< 100;i++)

{

str= input.readLine();

if(str!= null)

{

if(str.indexOf("MAC Address")> 1)

{

strMAC= str.substring(str.indexOf("MAC Address")+ 14,str.length());

break;

}

}

}

}

catch(IOException ex)

{

return"Can't Get MAC Address!";

}

//

if(strMAC.length()< 17)

{

return"Error!";

}

macAddress= strMAC.substring(0,2)+":"

+ strMAC.substring(3,5)+":"

+ strMAC.substring(6,8)+":"

+ strMAC.substring(9,11)+":"

+ strMAC.substring(12,14)+":"

+ strMAC.substring(15,17);

//

return macAddress;

}

public static void main(String[] args)

{

GetMACAddress getMACAddress= new GetMACAddress();

System.out.println(getMACAddress.getMACAddress("172.18.8.225"));

try

{

java.lang.Process proc= Runtime.getRuntime().exec("ipconfig/all");

InputStream istr= proc.getInputStream();

byte[] data= new byte[1024];

istr.read(data);

String netdata= new String(data);

System.out.println("Your Mac Address="+ procAll(netdata));

}

catch(IOException e)

{

System.out.println("error="+ e);

}

}

public static String procAll(String str)

{

return procStringEnd(procFirstMac(procAddress(str)));

}

public static String procAddress(String str)

{

int indexof= str.indexOf("Physical Address");

if(indexof> 0)

{

return str.substring(indexof,str.length());

}

return str;

}

public static String procFirstMac(String str)

{

int indexof= str.indexOf(":");

if(indexof> 0)

{

return str.substring(indexof+ 1,str.length()).trim();

}

return str;

}

public static String procStringEnd(String str)

{

int indexof= str.indexOf("\r");

if(indexof> 0)

{

return str.substring(0,indexof).trim();

}

return str;

}

}

import java.util.Vector;

class GetNetMAC

{

//网卡物理地址长度

static private final int _physicalLength= 16;

public static void main(String[] args)

{

//output you computer phycail ip address

System.out.println("The MAC Addressis:\t"+ getPhysicalAddress());

}

static public String getPhysicalAddress()

{

GetNetMACShell shell= new GetNetMACShell();

String cmd="cmd.exe/c ipconfig/all";

Vector result;

result= shell.execute(cmd);

return parseCmd(result.toString());

}

//从字符串中解析出所需要获得的字符串

static private String parseCmd(String s)

{

String find="Physical Address.........:";

int findIndex= s.indexOf(find);

if(findIndex==-1)

{

return"not find";

}

else

{

return s.substring(findIndex+ find.length()+ 1,findIndex+ find.length()+ 1+ _physicalLength);

}

}

}

import java.io.BufferedReader;

import java.io.DataInputStream;

import java.io.InputStreamReader;

import java.util.Vector;

public class GetNetMACShell

{

private Process process= null;

public Vector execute(String shellCommand)

{

try

{

Start(shellCommand);

Vector vResult= new Vector();

DataInputStream in= new DataInputStream(process.getInputStream());

BufferedReader reader= new BufferedReader(new InputStreamReader(in));

String line;

do

{

line= reader.readLine();

if(line== null)

{

break;

}

else

{

vResult.addElement(line);

}

}

while(true);

reader.close();

return vResult;

}

catch(Exception e)

{

//error

return null;

}

}

public void Start(String shellCommand)

{

try

{

if(process!= null)

{

kill();

}

Runtime sys= Runtime.getRuntime();

process= sys.exec(shellCommand);

}

catch(Exception e)

{

System.out.println(e.toString());

}

}

public void kill()

{

if(process!= null)

{

process.destroy();

process= null;

}

}

}

试试是否可以:)

怎么查CPU序列号

要查找CPU的序列号,可以通过以下几种方法:

1.使用系统信息工具:

-在Windows系统中,可以通过“系统信息”工具查看。按下`Win+ R`键打开运行对话框,输入`msinfo32`并回车,然后在打开的窗口中查找“系统摘要”下的“处理器”部分,可以看到CPU的序列号。

2.使用命令提示符:

-在Windows系统中,打开命令提示符(CMD),输入`wmic cpu get ProcessorId`命令,然后按回车键,CPU的序列号就会显示在命令行窗口中。

3.使用第三方软件:

-有许多第三方系统信息工具,如CPU-Z、Speccy等,可以提供详细的CPU信息,包括序列号。

4. BIOS/UEFI界面:

-在计算机启动时进入BIOS或UEFI设置界面,通常在“处理器信息”或“系统信息”部分可以找到CPU的序列号。

5.使用Linux系统命令:

-如果你使用的是Linux系统,可以通过终端输入`dmidecode-t processor`命令来查看CPU的序列号。

请注意,某些CPU可能不提供序列号,或者序列号可能被制造商隐藏,以保护用户的隐私和安全。此外,不同的系统和软件版本可能会有不同的查看方法。

如何在 Linux 中查看系统硬件制造商、型号和序列号

Linux命令行用户在获取系统硬件信息时可能会遇到一些麻烦,尽管图形界面用户和Windows用户获取这些信息相对容易。实际上,Linux中存在多种工具可以用来查询硬件制造商、型号和序列号等详细信息。

以下是获取这些信息的六种方法,您可以根据需要选择最适合您的工具。

方法一:使用dmidecode命令

dmidecode命令可以读取电脑的DMI(桌面管理接口)表内容,并以人类可读的格式显示系统硬件信息。该表包含系统硬件组件的详细描述,以及序列号、制造商、发布日期等有用信息。通过分析DMI表,您可以了解硬件的兼容性,例如支持的CPU速度和最大内存容量。

方法二:使用inxi命令

inxi是一个小巧灵活的工具,可以快速显示系统硬件、CPU、驱动、Xorg、桌面、内核、GCC版本、进程、内存使用等多种信息。它适用于技术支持和调试工具。

方法三:使用lshw命令

lshw(硬件监听器)是一个小巧灵活的工具,可以生成各种硬件组件的详细报告。它通过读取/proc目录下的文件和DMI表来获取硬件信息,必须以超级用户权限运行才能检测完整的硬件信息。

方法四:使用/sys文件系统

内核在/sys目录下的文件中公开了一些DMI信息。您可以使用grep命令或cat命令来获取机器类型或特定详细信息。

方法五:使用dmesg命令

dmesg命令用于记录内核消息,通过读取内核的环形缓冲区来获取数据。在排查问题或获取系统硬件信息时,dmesg非常有用。

方法六:使用hwinfo命令

hwinfo是一个检测当前系统硬件并显示详细信息的好工具。它报告关于CPU、内存、键盘、鼠标、显卡、声卡、存储、网络接口、磁盘、分区、BIOS等信息。hwinfo使用libhd库来收集系统上的硬件信息,适用于openSuse等发行版。

阅读剩余
THE END