struct utmp
utmp结构体定义如下:
structutmp { short int ut_type; // 登录类型 pid_t ut_pid; // login进程的pid char ut_line[UT_LINE_SIZE]; // 登录装置名,省略了"/dev/" char ut_id[4]; // 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[4]; // 远程主机的网络地址 char __unused[20]; // 保留未使用 };
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文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)