📜  在Linux中使用C编程和Shell获取系统和过程信息

📅  最后修改于: 2021-05-26 00:26:40             🧑  作者: Mango

每当您在Linux中启动新进程时,它都会在/ proc /文件夹中创建一个文件,该文件的名称与该进程的进程ID相同。在该文件夹中,有一个名为“状态”的文件,其中包含该过程的所有详细信息。我们可以通过外壳获取这些过程信息,如下所示:

cat /proc/1/status

使用shell获取处理信息

可以看出,它显示有关该过程的大多数信息。

注意: ,在这种情况下,进程ID为1,可以根据需要进行更改。

您可以通过外壳获取系统信息。基本系统信息存储在/ etc /文件夹中名为os-release的文件中。

cat /etc/os-release

外壳信息系统

您还可以使用C编程获取系统信息。以下代码用于获取系统的详细信息。在此代码中, utsname维护一个结构,该结构具有系统详细信息,例如sysname节点名,发行版,版本等。

#include
#include
#include
#include
int main()
{
   struct utsname buf1;
   errno =0;
   if(uname(&buf1)!=0)
   {
      perror("uname doesn't return 0, so there is an error");
      exit(EXIT_FAILURE);
   }
   printf("System Name = %s\n", buf1.sysname);
   printf("Node Name = %s\n", buf1.nodename);
   printf("Version = %s\n", buf1.version);
   printf("Release = %s\n", buf1.release);
   printf("Machine = %s\n", buf1.machine);
}

执行后,以上代码将给出以下输出:

尽管系统信息

要使用C编程获取过程信息,请使用以下代码。在这段代码中,我们通过ac程序执行Linux命令以获取该过程的详细信息。

#include
#include
int main()
{
   int r=system("cat /proc/1/status");
}

执行后,以上代码将给出以下输出:

获取处理信息1

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。