utmp结构体定义如下:

structutmp
{
  short int ut_type; // 登录类型
  pid_t ut_pid; // login进程的pid
  char ut_line[UT_LINE_SIZE]; // 登录装置名,省略了"/dev/"
  char ut_id[]; // Inittab ID
  char ut_user[UT_NAMESIZE]; // 登录账号
  char ut_host[UT_HOSTSIZE]; // 登录账号的远程主机名称
  struct exit_status ut_exit; // 当类型为DEAD_PROCESS时进程的结束状态
  long int ut_session; // SessionID
  struct timeval ut_tv; // 时间记录
  int32_t ut_addr_v6[]; // 远程主机的网络地址
  char __unused[]; // 保留未使用
};

ut_type有以下几种类型:

exit_status结构体定义:

structexit_status
{
short int e_termination; //进程结束状态
short int e_exit; //进程退出状态
};

getutnet()函数 

头文件:

#include<utmp.h>

定义函数:

struct utmp *getutent(void);

函数说明:

getutent()用来从utmp文件(/var/run/utmp)中读取一项登录数据,该数据以utmp结构返回。第一次调用时会取得第一位用户数据,之后没调用一次就会返回下一项数据。直到已无任何数据时返回NULL。

setuent()函数

头文件:

#include<utmp.h>

函数定义:

void setutent(void);

函数说明:

setuent()用来将getuent()读写地址指回utmp文件开头。

endutent()函数:

头文件:

#include<utmp.h>

函数定义:

void endutent(void);

函数说明:

endutent ()用来关闭getuent所打开utmp文件。

struct utmp的更多相关文章

  1. Linux 日志文件utmp、wtmp、lastlog、messages

            1.有关当前登录用户的信息记录在文件utmp中:==who命令 2.登录进入和退出纪录在文件wtmp中:==w命令 3.最后一次登录文件可以用lastlog命令察看: 4.messag ...

  2. /var/run/utmp文件操作函数

    相关函数:getutent, getutid, getutline, setutent, endutent, pututline, utmpname utmp 结构定义如下:struct utmp{  ...

  3. Linux日志文件utmp、wtmp、lastlog、messages

            1.有关当前登录用户的信息记录在文件utmp中:==who命令 2.登录进入和退出纪录在文件wtmp中:==w命令 3.最后一次登录文件可以用lastlog命令察看: 4.messag ...

  4. linux c 操作utmp 和 wtmp 文件接口

    /var/run/utmp 保存当前在本系统中的用户信息 /var/log/wtmp 保存登陆过本系统的用户信息 他们保存的信息是基于结构体 struct utmp 的(/usr/include/bi ...

  5. [转帖]Linux日志文件utmp、wtmp、lastlog、messages

    Linux日志文件utmp.wtmp.lastlog.messages https://www.cnblogs.com/zhuiluoyu/p/6874255.html 1.有关当前登录用户的信息记录 ...

  6. utmp, wtmp - 登 录 记 录(login records)

    SYNOPSIS[总览] #include DESCRIPTION[描述] utmp 文 件 用 于 记 录 当 前 系 统 用 户 是 哪 些 人. 但 是 实 际 的 人 数 可 能 比 这 个 ...

  7. [APUE]系统数据文件与信息

    一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...

  8. C语言编程实现Linux命令——who

    C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...

  9. 别出心裁的Linux系统调用学习法

    别出心裁的Linux系统调用学习法 操作系统与系统调用 操作系统(Operating System,简称OS)是计算机中最重要的系统软件,是这样的一组系统程序的集成:这些系统程序在用户对计算机的使用中 ...

随机推荐

  1. 我的周记8——"因为相信,所以看见"

    我没想明白过哪一种生活对幸福的定义更恰当,只是回顾我们走过的路,都是好春光,都像梦一场 JAVA学习视频 https://edu.aliyun.com/promotion/26?utm_content ...

  2. c++小学期大作业攻略(零)建议+代码结构(持续更新)

    当前已经做好的exe,数据库是连服务器的,但是头像是存在本地的文件系统里面: https://cloud.tsinghua.edu.cn/d/059ef6b1f9a149ce879b/files/?p ...

  3. Redux-saga-整理

    介绍 在redux中更好的解决异步操作 redux-saga相当于在redux原来的数据流中多了一层,对action进行监听 接收到action时,派发一个任务维护state saga通过Genera ...

  4. Flink基本的API(续)

    上一篇介绍了编写 Flink 程序的基本步骤,以及一些常见 API,如:map.filter.keyBy 等,重点介绍了 keyBy 方法.本篇将继续介绍 Flink 中常用的 API,主要内容为 指 ...

  5. C# 操作LDAP

    C# 操作LDAP查找组或人员信息 using System; using System.Collections.Generic; using System.Linq; using System.We ...

  6. C# FastReport .NET打印

    引用DLL : FastReport.dll FastReport.Report sender = new FastReport.Report(); try { sender.Load("f ...

  7. 基于Golang的逃逸分析(Language Mechanics On Escape Analysis)

    何为逃逸分析 在编译程序优化理论中,逃逸分析是一种确定指针动态范围的方法——分析在程序的哪些地方可以访问到指针.它涉及到指针分析和形状分析. 当一个变量(或对象)在子程序中被分配时,一个指向变量的指针 ...

  8. STM (软件事务内存)

  9. RISC-V GNU 工具链:安装与使用

    1. 安装Wmware和unbuntu,我安装的是Wmware workstation pro 12.1.1 build-3770994, unbuntu 是18.04.2 amd版本, ubuntu ...

  10. 【转载】Gradle学习 第九章:Groovy快速入门

    转载地址:http://ask.android-studio.org/?/article/17 To build a Groovy project, you use the Groovy plugin ...