linux编程实践3(实现who命令)
2014-01-13 13:19
316 查看
下面是简单实现linux下who命令的代码,主要就是从utmp这个文件中读取和用户登录相关的信息,并显示出来。
#include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<fcntl.h> #include<utmp.h> #include<time.h> void show_info(struct utmp *); void show_time(long timeval); int main(int argc, char **argv) { struct utmp current_record; int read_len = sizeof(current_record); int fd; if((fd = open(UTMP_FILE, O_RDONLY)) == -1) { perror(UTMP_FILE); exit(1); } while(read(fd, ¤t_record, read_len) == read_len) show_info(¤t_record); close(fd); return 0; } void show_info(struct utmp *utmpbuf) { if(utmpbuf->ut_type != USER_PROCESS) return; printf("%-8.8s", utmpbuf->ut_user); printf(" "); printf("%-8.8s", utmpbuf->ut_line); printf(" "); //printf("%10ld", utmpbuf->ut_time); show_time(utmpbuf->ut_time); printf(" "); #ifdef SHOWHOST printf("(%s)", utmp->ut_host); #endif printf("\n"); } void show_time(long timeval) { char *cp; cp = ctime(&timeval); printf("%12.12s", cp+4); }
相关文章推荐
- Linux编程实践——代码实现ac命令
- linux编程实践4(实现ls -l命令)
- linux编程实践2(实现more命令)
- linux编程实践:实现pwd命令
- C语言编程实现Linux命令——who
- linux编程实践1(实现pwd命令)
- 【Unix/Linux编程实践】从零做起:编写who命令
- linux(丽妞克斯)编程轻松入门 第五讲 实现更多命令
- linux下使用系统调用编程实现dir命令功能
- 干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户
- Linux下who命令的实现
- Linux下who命令之C语言实现
- Linux进程间通信(IPC)编程实践(十一)System V信号量---实现一个先进先出的共享内存shmfifo
- 【C语言】实现Linux下的who命令
- Linux下的socket编程实践(九) epoll实现高并发的原理及其使用
- linux编程实现pwd命令
- Linux编程实践——head和tail的实现
- Linux下的socket编程实践(九) epoll实现高并发的原理及其使用
- 编程实践----实现自己的ls命令
- Linux&C编程之Linux系统命令“cp -r”的简单实现