美文网首页
linux系统信息读取小程序

linux系统信息读取小程序

作者: MachinePlay | 来源:发表于2020-02-05 05:42 被阅读0次

获取内核版本、架构、用户名、终端、目录


image.png
/*
 * @Author: machineplay
 * @Date: 2020-02-05 03:04:30
 * @Description: only for fun
 */
#include <iostream>
#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <time.h>
#include <fcntl.h>
#include <sys/utsname.h>
#include <pwd.h>


int main(int argc, char* argv[]) {

    /* init time. */
    tm sys_time;
    timespec sys_timespec;
    tm *sys_tm_ptr = &sys_time;
    time_t time_now = time(NULL);
    char time_buf[255];
    sys_tm_ptr = localtime(&time_now);
    int ret = strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S %Z", sys_tm_ptr);

    if(!ret) {
        printf("get time error\n");
        return -1;
    }

    /* init sys info. */
    utsname sys_info;
    passwd *sys_pwd = nullptr;
    ret = uname(&sys_info);
    if(ret) {
        printf("get uname error\n");
    }

    /* getuid then getpwuid. */
    sys_pwd = getpwuid(getuid());


    /* display system info. */
    printf("______system_info______\t\n");
    printf("* kernel: %s\t\n* machine: %s\t\n* release: %s\t\n* hostname: %s\t\n* system: %s\t\n"
    , sys_info.version, sys_info.machine, sys_info.release, sys_info.nodename, sys_info.sysname);

    /* get username from pwd. */
    printf("* user: %s\t\n", sys_pwd->pw_name);
    printf("* shell: %s\t\n", sys_pwd->pw_shell);
    printf("* home: %s\t\n", sys_pwd->pw_dir);

    /* time. */
    printf("* time: %s\t\n", time_buf);
    return 0;
}

相关文章

  • linux系统信息读取小程序

    获取内核版本、架构、用户名、终端、目录

  • Linux读取系统信息

    系统标识 POSIX.1定义了uname函数,它返回与主机和操作系统有关的信息。 返回值:若成功,返回非负值;若出...

  • JavaNIO-通道06 Linux 网络IO模型

    1 Linux 网络IO模型 读取网络数据过程 1、应用程序发起读数据操作,JVM会发起read()系统调用。 2...

  • Android跨程序共享数据,探究内容提供器(进阶篇)

    上一章讲到怎么使用ContentResolver访问系统提供的数据接口读取联系人信息,那么系统程序是怎样对外建立并...

  • awk的基本用法

    awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。 它依次处理文件的每一行,并读取里面...

  • Awk

    简介 awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取...

  • FrameWork启动过程

    1.linux的启动过程最后,内核将读取init.rc文件,并启动该文件中的各种服务程序,android系统内核也...

  • Linux Day5:操作系统与基础

    Linux操作系统与基础。 Linux的基本原则: 由目的单一的小程序组成:组合小程序完成负责任务。 一切皆文件;...

  • awk的基本使用方法

    awk是处理文本文件的一个应用程序,几乎所有Linux系统都自带这个程序。 它依次处理文件的每一行,并读取里面的每...

  • Linux_138_运行级别和init

    linux系统的运行级别读取系统的/var/run/utmp系统定位的运行级别run level # 检查当前系统...

网友评论

      本文标题:linux系统信息读取小程序

      本文链接:https://www.haomeiwen.com/subject/bgjjxhtx.html