UTMP(5) File Formats Manual UTMP(5) NAME[] utmp, wtmp - login records SYNOPSIS[] #include DESCRIPTION[] utmp utmp : utmp //* //* //* utmp.h ( libc #define UT_UNKNOWN 0 #define RUN_LVL 1 #define BOOT_TIME 2 #define NEW_TIME 3 #define OLD_TIME 4 #define INIT_PROCESS 5 #define LOGIN_PROCESS 6 #define USER_PROCESS 7 #define DEAD_PROCESS 8 #define ACCOUNTING 9 #define UT_LINESIZE 12 #define UT_NAMESIZE 32 #define UT_HOSTSIZE 256 struct exit_status { short int e_termination; /* process termination status. */ short int e_exit; /* process exit status. */ }; struct utmp { short ut_type; /* type of login */ pid_t ut_pid; /* pid of login process */ char ut_line[UT_LINESIZE]; /* device name of tty - "/dev/" */ char ut_id[4]; /* init id or abbrev. ttyname */ char ut_user[UT_NAMESIZE]; /* user name */ char ut_host[UT_HOSTSIZE]; /* hostname for remote login */ struct exit_status ut_exit; /* The exit status of a process marked as DEAD_PROCESS. */ long ut_session; /* session ID, used for windowing*/ struct timeval ut_tv; /* time entry was made. */ int32_t ut_addr_v6[4]; /* IP address of remote host. */ char pad[20]; /* Reserved for future use. */ }; /* Backwards compatibility hacks. */ #define ut_name ut_user #ifndef _NO_UT_TIME #define ut_time ut_tv.tv_sec #endif #define ut_xtime ut_tv.tv_sec #define ut_addr ut_addr_v6[0] time(2) '\0' init(8) inittab(5) init(8) utmp ut_type DEAD_PROCESS. ut_type DEAD_PROCESS RUN_LVL ut_pid , ut_user, ut_host ut_time ut_id , init inittab ut_id , ut_pid ut_time ut_type INIT_PROCESS. getty(8) , ut_type LOGIN_PROCESS, ut_time, ut_line login(8), , ut_type USER_PROCESS, ut_time ut_host ut_addr. getty(8) login(8), ut_line ut_pid init(8) , ut_pid utmp , ut_type DEAD_PROCESS ut_user, ut_host ut_time xterm(1) USER_PROCESS /dev/ttyp%c p%d /dev/pts/%d ut_id id DEAD_PROCESS , . DEAD_PROCESS ut_line, ut_time, ut_user ut_host null xdm(8) utmp , . utmp finger: can not stat /dev/machine.dom. wtmp , ftpd(8) . telnetd(8) LOGIN_PROCESS login(8) telnet , telnetd(8) cleans up utmp in the described way. wtmp utmp "~" "shutdown" "reboot" the pair of terminal names "|"/"}" logs the old/new system time when date(1) changes it. wtmp login(1), init(1) getty(1) . , FILES[] /var/run/utmp /var/log/wtmp CONFORMING TO[] Linux utmp v7/BSD SYSV: . v7/BSD ; ut_type (ut_type v7/BSD-() dead login .,. BSD (BSD does so), ut_id . Linux (SYSV ), ut_id ,. ut_id race conditions . SYSV ,, BSD utmp . ,Linux BSD . SYSV (:. "new time"). UT_UNKNOWN Linux . SYSV ut_host ut_addr_v6 . , utmp , Linux utmp . who(1) , utmp . libc5 libc6 utmp . /var/run/utmp /or /var/log/wtmp. Debian libc5 . wtmp, libc5 . RESTRICTIONS[] , :. BUGS[] libc5 , . SEE ALSO[] ac(1), date(1), getutent(3), init(8), last(1), login(1), updwtmp(3), who(1) [] Redcandle [] 2001.11.08 linuxman: http://cmpp.linuxforum.net man man https://github.com/man-pages-zh/manpages- zh July 2, 1997 UTMP(5)