a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言中操作utmp文件的相關函數用法

2020-01-26 14:56:25
字體:
來源:轉載
供稿:網友

C語言getutent()函數:從utmp文件中取得賬號登錄數據
頭文件:

#include <utmp.h>

定義函數:

struct utmp *getutent(void);

函數說明:getutent()用來從utmp 文件(/var/run/utmp)中讀取一項登錄數據, 該數據以utmp 結構返回. 第一次調用時會取得第一位用戶數據, 之后每調用一次就會返回下一項數據, 直到已無任何數據時返回NULL。

utmp 結構定義如下:

struct utmp{  short int ut_type; //登錄類型  pid_t ut_pid; //login 進程的pid  char ut_line[UT_LINESIZE]; //登錄裝置名, 省略了"/dev/"  char ut_id[4]; //Inittab ID  char ut_user[UT_NAMESIZE]; //登錄賬號  char ut_host[UT_HOSTSIZE]; //登錄賬號的遠程主機名稱  struxt exit_status ut_exit; //當類型為DEAD_PROCESS 時進程的結束狀態  long int ut_session; //Sessioc ID  struct timeval ut_tv; //時間記錄  int32_t ut_addr_v6[4]; //遠程主機的網絡地址  char __unused[20]; //保留未使用};

ut_type 有以下幾種類型:

  • EMPTY:此為空的記錄.
  • RUN_LVL:記錄系統run-level 的改變
  • BOOT_TIME:記錄系統開機時間
  • NEW_TIME:記錄系統時間改變后的時間
  • OLD_TINE:記錄當改變系統時間時的時間.
  • INIT_PROCESS:記錄一個由init 衍生出來的進程.
  • LOGIN_PROCESS:記錄 login 進程.
  • USER_PROCESS:記錄一般進程.
  • DEAD_PROCESS:記錄一結束的進程.
  • ACCOUNTING:目前尚未使用.

exit_status 結構定義:

struct exit_status{  short int e_termination; //進程結束狀態  short int e_exit; //進程退出狀態};

timeval 的結構定義請參考gettimeofday()。

相關常數定義如下:

  • UT_LINESIZE 32
  • UT_NAMESIZE 32
  • UT_HOSTSIZE 256

返回值:返回 utmp 結構數據, 如果返回NULL 則表示已無數據, 或有錯誤發生.

附加說明:getutent()在第一次調用時會打開utmp 文件, 讀取數據完畢后可使用endutent()來關閉該utmp文件.

范例

#include <utmp.h>main(){  struct utmp *u;  while((u = getutent()))  {    if(u->ut_type == USER_PROCESS)      printf("%d %s %s %s /n", u->ut_type, u->ut_user, u->ut_line, u->ut_host);  }  endutent();}

執行
//表示有三個root 賬號分別登錄/dev/pts/0, /dev/pts/1, /dev/pts/2
7 root pts/0
7 root pts/1
7 root pts/2

C語言setutent()函數:從頭讀取utmp文件中的登錄數據
頭文件:

#include <utmp.h>

定義函數:

void setutent(void);

函數說明:setutent()用來將getutent()的讀寫地址指回utmp 文件開頭。

C語言endutent()函數:關閉文件(關閉utmp文件)
頭文件:

#include <utmp.h>

定義函數:

void endutent(void);

函數說明:endutent()用來關閉由getutent 所打開的utmp 文件。

范例:請參考getutent().

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 忘忧草精品久久久久久久高清 | 欧美日韩精品一二区 | 免费成人av| 欧美aaaaa | 亚洲精品一区二区网址 | 狠狠久久综合 | 免费在线看a | 日本高清在线观看 | 日本高清视频在线播放 | 国产精品久久久久久吹潮 | 日本特级片 | 狠狠se| 欧美日本在线观看 | 国产精品久久久久久久久久久久冷 | 国产亚洲精品久久久456 | 午夜a级理论片915影院 | 日韩成人精品视频在线观看 | 羞羞视频免费观看 | 国产精品久久久久久久久久99 | 亚洲国产精品麻豆 | 色视频网站在线观看 | 日韩精品一区二区三区 | 日本中文字幕一区二区 | 毛片免费看 | 欧美一级毛片久久99精品蜜桃 | 欧美一级免费观看 | 免费观看性欧美大片无片 | 日韩国产欧美一区 | 国产精品视频看看 | 亚洲视频中文字幕 | 欧美一级高潮片免费的 | 国精产品一区二区三区 | 精品国产一区二区三区久久影院 | 午夜影院在线观看 | 欧美精品一区久久 | 国产精品不卡视频 | 欧洲成人一区 | 国产精品7 | 狠操av| 日韩欧美在线观看视频 | 国产 欧美 日韩 一区 |