zoukankan      html  css  js  c++  java
  • 系统和进程相关信息

    查看进程号为1的进程信息

    [root@bogon code]# cat /proc/1/status   //proc目录下的数字就是进程号
    ]Name:  systemd
    State:  S (sleeping)
    Tgid:   1
    Ngid:   0
    Pid:    1
    PPid:   0
    TracerPid:  0
    Uid:    0   0   0   0
    Gid:    0   0   0   0
    FDSize: 64
    Groups: 
    VmPeak:   193628 kB
    VmSize:   128092 kB
    VmLck:         0 kB
    VmPin:         0 kB
    VmHWM:     40592 kB
    VmRSS:      6704 kB
    RssAnon:        2756 kB
    RssFile:        3948 kB
    RssShmem:          0 kB
    VmData:    84492 kB
    VmStk:       136 kB
    VmExe:      1296 kB
    VmLib:      3636 kB
    VmPTE:       116 kB
    VmSwap:        0 kB
    Threads:    1
    SigQ:   0/3791
    SigPnd: 0000000000000000
    ShdPnd: 0000000000000000
    SigBlk: 7be3c0fe28014a03
    SigIgn: 0000000000001000
    SigCgt: 00000001800004ec
    CapInh: 0000000000000000
    CapPrm: 0000001fffffffff
    CapEff: 0000001fffffffff
    CapBnd: 0000001fffffffff
    CapAmb: 0000000000000000
    Seccomp:    0
    Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff
    Cpus_allowed_list:  0-127
    Mems_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
    Mems_allowed_list:  0
    voluntary_ctxt_switches:    3129
    nonvoluntary_ctxt_switches: 4021
    [root@bogon code]# ]

    proc/PID下的列表内容
    这里写图片描述

    如何在程序中运行shell命令
    与execve()不同,system()会继续执行该函数

    [root@bogon code]# cat d.c
    #include<stdio.h>
    int main()
    {
        system("ls /root;echo 'echo linux'");
        printf("still running
    ");
        return 0;
    }
    
    [root@bogon code]# gcc d.c
    [root@bogon code]# ./a.out
    anaconda-ks.cfg  Documents         Music        Public
    code         Downloads         original-ks.cfg  Templates
    Desktop      initial-setup-ks.cfg  Pictures     Videos
    echo linux
    still running
    [root@bogon code]# 

    获取系统相关信息

    [root@bogon code]# cat uname.c 
    #include<stdio.h>
    #include<error.h>
    #include<sys/utsname.h>
    int main()
    {
        struct utsname uts;//utsname结构体的属性主要有下面几个
        if((uname(&uts))==-1)
            perror("uname fail");
        printf("nodename:%s
    ",uts.nodename);//网络节点名称
        printf("release:%s
    ",uts.release);//内核版本
        printf("version:%s
    ",uts.version);//系统版本
        printf("machine:%s
    ",uts.machine);//系统位数
        printf("sysname:%s
    ",uts.sysname);//系统名称
        return 0;
    }
    [root@bogon code]# gcc uname.c 
    [root@bogon code]# ./a.out
    nodename:bogon
    release:3.10.0-514.el7.x86_64
    version:#1 SMP Tue Nov 22 16:42:41 UTC 2016
    machine:x86_64
    sysname:Linux
    [root@bogon code]# 
    
    
  • 相关阅读:
    如何在VIM中编辑并保存退出!!!
    MapReduce---数据清洗
    构建之法阅读笔记03
    人月神话阅读笔记03
    学习进度报告16
    大道至简阅读笔记03
    大道至简阅读笔记02
    个人总结
    大道至简阅读笔记01
    学习进度报告15
  • 原文地址:https://www.cnblogs.com/biaopei/p/7730621.html
Copyright © 2011-2022 走看看