Man page - wtmp(5)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr es it pl ja ru ro deManual
UTMP
å 忏 åŧ
čĒŦ æ
ã ãĄ ã¤ ãĢ
æē æ
é åģ ãŽ ãˇ ãš ã ã ã¨ ãŽ æ¯ čŧ
æŗ¨ æ
éĸ éŖ é įŽ
ã ãŽ æ æ¸ ãĢ ã¤ ã ãĻ
å å
utmp, wtmp - ã ã° ã¤ ãŗ č¨ é˛
æ¸ åŧ
#include <utmp.h>
čĒŦ æ
utmp ã ãĄ ã¤ ãĢ ã čĻ ã ã 㨠㧠ã įž å¨ čǰ ã ãˇ ãš ã ã ã äŊŋ ãŖ ãĻ ã ã ã 㨠ã ã æ å ą ã åž ã ã ã ã ã ã ã ãš ãĻ ãŽ ã ã 㰠㊠ã ã utmp ã ãĄ ã¤ ãĢ ã æ´ æ° ã ãĻ ã ã ã ã 㧠㯠ãĒ ã ㎠㧠ã åŽ é ãĢ ã¯ ã ã äģĨ ä¸ ãŽ ãĻ ãŧ ãļ ãŧ ã ãˇ ãš ã ã ã äŊŋ ãŖ ãĻ ã ã å¯ čŊ æ§ ã ã ã ã
čĻ å : (æ ã ãĢ ã ) å¤ ã ãŽ ãˇ ãš ã ã ã ã 㰠㊠ã ã ã ãŽ æ´ å æ§ ãĢ äž å ã ãĻ ã ã ㎠㧠ã utmp ã ãĄ ã¤ ãĢ ã¯ "other" ãĢ å éĄ ã ã ã ãĻ ãŧ ãļ ãŧ ãĢ å¯ž ã ãĻ æ¸ ã čžŧ ãŋ å¯ čŊ ãĢ ã ãĻ ã¯ ãĒ ã ãĒ ã ã ã ãĄ ã¤ ãĢ ãŽ æ æ č 㨠㰠ãĢ ãŧ ã ãĒ ãŧ ã ãŧ äģĨ å¤ ãŽ ãĻ ãŧ ãļ ãŧ ãĢ å¯ž ã ãĻ utmp ã ãĄ ã¤ ãĢ ã æ¸ ã čžŧ ãŋ å¯ čŊ ãĒ įļ æ ãĢ ã ãĻ ã ã 㨠ã ãˇ ãš ã ã ㎠ã ã° ã ãĄ ã¤ ãĢ ã åŊ é ã ã ã ã ã ãˇ ãš ã ã ã ãĄ ã¤ ãĢ ãŽ æš ã ã ã å ã ã 㨠ã ãŖ ã ãĒ ãš ã¯ ã ᝠã ã 㨠ãĢ ãĒ ã ã
ã ㎠ã ãĄ ã¤ ãĢ ã¯ utmp æ§ é äŊ ãŽ įš° ã čŋ ã ã§ æ§ æ ã ã ã ã ã ãŽ æ§ é äŊ 㯠<utmp.h> ã§ äģĨ ä¸ ãŽ ã ã ãĢ åŽ įžŠ ã ã ãĻ ã ã (ã ã ãĢ č¨ čŋ° ã ãĻ ã ã ㎠㯠嚞 㤠ã ㎠大 ãž ã ãĒ åŽ įžŠ ㎠ãŋ ã§ ã čŠŗ į´° 㯠libc ㎠ã ãŧ ã¸ ã§ ãŗ ãĢ ã ã å¤ ã ã ã 㨠ãĢ æŗ¨ æ ã åŋ čĻ ã§ ã ã )ã
/* Values for ut_type field, below */
#define EMPTY 0
/* Record does not contain valid info
(formerly known as UT_UNKNOWN on Linux) */
#define RUN_LVL 1 /* Change in system run-level (see
init
(1)) */
#define BOOT_TIME 2 /* Time of system boot (in
ut_tv
)
*/
#define NEW_TIME 3 /* Time after system clock change
(in
ut_tv
) */
#define OLD_TIME 4 /* Time before system clock change
(in
ut_tv
) */
#define INIT_PROCESS 5 /* Process spawned by
init
(1)
*/
#define LOGIN_PROCESS 6 /* Session leader process for user
login */
#define USER_PROCESS 7 /* Normal process */
#define DEAD_PROCESS 8 /* Terminated process */
#define ACCOUNTING 9 /* Not implemented */
#define
UT_LINESIZE 32
#define UT_NAMESIZE 32
#define UT_HOSTSIZE 256
struct
exit_status { /* Type for ut_exit, below */
short e_termination; /* Process termination status */
short e_exit; /* Process exit status */
};
struct utmp {
short ut_type; /* Type of record */
pid_t ut_pid; /* PID of login process */
char ut_line[UT_LINESIZE]; /* Device name of tty -
"/dev/" */
char ut_id[4]; /* Terminal name suffix,
or inittab(5) ID */
char ut_user[UT_NAMESIZE]; /* Username */
char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or
kernel version for run-level
messages */
struct exit_status ut_exit; /* Exit status of a process
marked as DEAD_PROCESS; not
used by Linux init(1) */
/* ut_session 㨠ut_tv ã ãŖ ãŧ
ãĢ ã 㯠ã 32ã ã
ã ã§ ãŗ ãŗ ã ã¤
ãĢ ã ã ã å ´ å
ã¨
64ã ã ã ã§ ãŗ ãŗ
ã 㤠ãĢ ã ã ã
å ´ å ã§ å ã ãĩ
㤠ãē ã§ ãĒ ã ã
ã° ãĒ ã ãĒ ã ã
ã ã ã ã ã ã¨
ã§ ã 32ã ã ã ã¨
64ã ã ã ㎠ãĸ ã
ãĒ ãą ãŧ ãˇ ã§ ãŗ
ã§ ã
ã ãŧ ãŋ ã ãĄ ã¤
ãĢ ã¨ å
ą æ ãĄ ãĸ
ãĒ ãŧ ã å
ą æ ã
ã ã 㨠ã ã§ ã
ã ã ã ãĢ ãĒ ã
ã */
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
int32_t ut_session; /* Session ID (
getsid
(2)),
used for windowing */
struct {
int32_t tv_sec; /* Seconds */
int32_t tv_usec; /* Microseconds */
} ut_tv; /* Time entry was made */
#else
long ut_session; /* Session ID */
struct timeval ut_tv; /* Time entry was made */
#endif
int32_t
ut_addr_v6[4]; /* Internet address of remote
host; IPv4 address uses
just ut_addr_v6[0] */
char __unused[20]; /* Reserved for future use */
};
/* Backward
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 (1) ãŗ ã ãŗ ã ã inittab (5) ã åĻ į ã ã ã 㨠㧠äŊ ã ã ã ã ã ã ã¨ ãŗ ã ãĒ ãŧ ã åĻ į ã ã å ãĢ ã init (1) 㯠ut_type ã DEAD_PROCESS ãĢ å æ å ã ã ã ãŦ ãŗ ãŧ ã ㎠ut_type ã DEAD_PROCESS 㨠RUN_LVL ㎠ã ã ã ã§ ã ãĒ ã ã ã 㤠PID ã ut_pid ã§ ã ã ã ã ãģ ãš ã ã ãĒ ã å ´ å 㯠ã ut_user , ut_host , ut_time ã ã ãĢ ã 㤠ã 㧠㯠ãĒ ãĸ ã ãĻ å æ å ã čĄ ã ã åŋ čĻ ãĒ ut_id ã æ 㤠įŠē ㎠ãŦ ãŗ ãŧ ã ã čĻ ã¤ ã ã ã ãĒ ã ãŖ ã å ´ å ã init (1) ã¯ æ° ã ã ãŦ ãŗ ãŧ ã ã äŊ ã ã inittab ã ã ut_id ã č¨ åŽ ã ã ut_pid ã ã ãŗ ut_time ã įž å¨ å¤ ãĢ ã ut_type ã INIT_PROCESS ãĢ č¨ åŽ ã ã ã
mingetty (8) (ãž ã 㯠agetty (8)) 㯠pid ã§ ã¨ ãŗ ã ãĒ ãŧ ã įš åŽ ã ã ut_type ã LOGIN_PROCESS ãĢ å¤ æ´ ã ã ut_time ã æ´ æ° ã ã ut_line ã č¨ åŽ ã ã åž ã æĨ įļ ã įĸē įĢ ã ã ã ㎠ã åž ã¤ ã login (1) 㯠ãĻ ãŧ ãļ ãŧ čĒ č¨ŧ ã įĩ äē ã ã 㨠ã ut_type ã USER_PROCESS ãĢ å¤ æ´ ã ã ut_time ã æ´ æ° ã ã ut_host 㨠ut_addr ã č¨ åŽ ã ã ã mingetty (8) (ãž ã 㯠agetty (8)) 㨠login (1) ãĢ ã ã į° ãĒ ã ã ã ut_pid ㎠äģŖ ã ã ãĢ ut_line ã äŊŋ ãŖ ãĻ ãŦ ãŗ ãŧ ã ãŽ įš åŽ ã čĄ ã ã ã ã 㨠ã ã ã ( ut_pid ã äŊŋ ã æš ã æ ãž ã ã ) ã
init (1) 㯠ã ã ãģ 㚠㎠įĩ äē ã æ¤ åē ã ã å ´ å ã ut_pid ã ã ãŧ 㨠ã ãĻ utmp ãŽ ã¨ ãŗ ã ãĒ ãŧ ã įš åŽ ã ã ut_type ã DEAD_PROCESS ãĢ č¨ åŽ ã ã ut_user , ut_host , ut_time ã ã ãĢ ã 㤠ã 㧠㯠ãĒ ãĸ ã ã ã
xterm (1) ãŗ ã ãŗ ã ã äģ ㎠į̝ æĢ 㨠ã ãĨ ãŦ ãŧ ãŋ ã¯ į´ æĨ USER_PROCESS ㎠ãŦ ãŗ ãŧ ã ã äŊ ã ã į̝ æĢ å ㎠ãĩ ã ãŖ ã 㯠㚠æ å å ( /dev/[pt]ty ãĢ įļ ã æ å å ) ã äŊŋ ãŖ ãĻ ut_id ãŽ å¤ ã į æ ã ã ã ã ㎠id ã æ ã¤ ã¨ ãŗ ã ãĒ ãŧ ã DEAD_PROCESS ã§ ã ãŖ ã å ´ å ãĢ ã¯ å åŠ į¨ ã ã ã ã äģĨ å¤ ãŽ å ´ å ãĢ ã¯ æ° ã ã ã¨ ãŗ ã ãĒ ãŧ ã äŊ ã ã ã ã å¯ čŊ ãĒ å ´ å ãĢ ã¯ ã ã ãģ ãš įĩ äē æ ãĢ DEAD_PROCESS ã¨ č¨ åŽ ã ã ã ã ãĢ ut_line , ut_time , ut_user , ut_host ã ã ãĢ ã 㤠ã 㧠㯠ãĒ ãĸ ã ã ã 㨠ã åĨ¨ åą ã ã ãĻ ã ã ã
telnetd (8) 㯠LOGIN_PROCESS ã č¨ åŽ ã ã ã ã ã§ ã ã ã æŽ ã ㎠åĻ į 㯠é 常 é ã login (1) ãĢ äģģ ã ã ã° ã ã ã telnet ㎠ãģ ã ãˇ ã§ ãŗ ã įĩ äē ã ã åž ã å čŋ° ㎠ã ã ãĢ telnetd (8) ã utmp ãŽ ã¨ ãŗ ã ãĒ ãŧ ã å æ å ã ã ã
wtmp ã ãĄ ã¤ ãĢ ãĢ ã¯ ã ã ãš ãĻ ãŽ ã ã° ã¤ ãŗ ã¨ ã ã° ãĸ ãĻ ã ã č¨ é˛ ã ã ã ã ã ㎠ã ㊠ãŧ ã ã ã 㯠ã ã ã° ãĸ ãĻ ã æ¸ ㎠į̝ æĢ ã§ ãĻ ãŧ ãļ ãŧ å ã ã ãĢ ã¨ ãĒ ã ã 㨠äģĨ å¤ ã¯ utmp ã¨ ãž ãŖ ã ã å ã ã§ ã ã ã ãĻ ãŧ ãļ ãŧ å ã shutdown ã ã ã 㯠reboot ㎠į̝ æĢ å ~ 㯠ã ãˇ ãš ã ã ãŽ å æĸ (shutdown) ãž ã 㯠å čĩˇ å (reboot) ã æ åŗ ã ã ã ãž ã ã ㎠į̝ æĢ å ã | 㨠} ㎠寞 㯠date (1) ãŗ ã ãŗ ã ã§ å¤ æ´ ã ã æ° īŧ æ§ ãŽ ãˇ ãš ã ã æ åģ ã č¨ é˛ ã ãĻ ã ã ã wtmp ã ãĄ ã¤ ãĢ ã¯ login (1), init (1) ã ã ã 㤠ã ㎠ã ãŧ ã¸ ã§ ãŗ ãŽ getty (8) ( mingetty (8) ãž ã 㯠agetty (8)) ãĢ ã ã įŽĄ į ã ã ãĻ ã ã ã ã ã ã ㎠ã ã 㰠㊠ã 㯠㊠ã ã ã ãĄ ã¤ ãĢ ã æ° ã ãĢ äŊ æ ã ãĒ ã ㎠㧠ã ã ãĄ ã¤ ãĢ ã å é¤ ã ã ã 㨠㧠æ å ą ãŽ č¨ é˛ (record-keeping) ã æĸ ã ã ã 㨠ã ã§ ã ã ã
ã ãĄ ã¤ ãĢ
/var/run/utmp
/var/log/wtmp
æē æ
POSIX.1 㧠㯠ã utmp æ§ é äŊ 㧠㯠ãĒ ã ã utmpx æ§ é äŊ ã čĻ åŽ ã ãĻ ã ã ã utmpx æ§ é äŊ ã§ čĻ åŽ ã ã ãĻ ã ã ㎠㯠ã ã ãŖ ãŧ ãĢ ã ut_type , ut_pid , ut_line , ut_id , ut_user , ut_tv ã§ ã ã ã POSIX.1 㧠㯠ã ã ãŖ ãŧ ãĢ ã ut_line 㨠ut_user ãŽ éˇ ã 㯠čĻ åŽ ã ã ãĻ ã ãĒ ã ã
Linux 㧠㯠ã utmpx æ§ é äŊ ãŽ åŽ įžŠ 㯠utmp æ§ é äŊ 㨠å ã ã§ ã ã ã
é åģ ãŽ ãˇ ãš ã ã ã¨ ãŽ æ¯ čŧ
Linux 㧠㎠utmp ãŽ ã¨ ãŗ ã ãĒ ãŧ 㯠v7/BSD ã System V ㎠ã ã ã ãĢ ã æē æ ã ãĻ ã ã ã ã ã ãŽ ä¸Ą æš ã æˇˇ å¨ ã ã ã ㎠㧠ã ã ã
v7/BSD 㧠㯠ã ã å° ã ㎠é įŽ ã ã ãĒ ã ; ã ãŖ ã¨ ã é čĻ ãĒ ã 㨠㯠ã ut_type ã įĄ ã ã 㨠㧠ã ã ã ã ㎠ã ã v7/BSD įŗģ ㎠ã ã 㰠㊠ã 㧠㯠(ã 㨠ã ã° ) æģ ã ã įļ æ ãŽ ã¨ ãŗ ã ãĒ ãŧ ã ã ã° ã¤ ãŗ įļ æ ãŽ ã¨ ãŗ ã ãĒ ãŧ ãž ã§ čĄ¨ į¤ē ã ã ãĻ ã ãž ã ã 㨠ãĢ ãĒ ãŖ ã ã ã ã ãĢ ãģ ã ãˇ ã§ ãŗ į¨ ãŽ ãš ã ã ã ã å˛ ã åŊ ãĻ ã ã ã ãŽ č¨ åŽ ã ãĄ ã¤ ãĢ ã ãĒ ã ã BSD ãĢ č¨ åŽ ã ãĄ ã¤ ãĢ ã ã ã ㎠㯠ut_id ã ãĒ ã ã ã ã§ ã ã ã
Linux (System V įŗģ )㧠㯠ã č¨ åŽ ã ãĄ ã¤ ãĢ ã åŋ čĻ ã¨ ã ã ãģ ã ãˇ ã§ ãŗ į¨ ãŽ ãš ã ã ã ã å˛ ã åŊ ãĻ ã ㎠㧠ã ä¸ æĻ č¨ åŽ ã ã ãĻ ã ãž ã 㨠ãŦ ãŗ ãŧ ã ㎠ut_id 㯠æąē ã ãĻ å¤ æ´ ã ã ãĒ ã ã ut_id ã 㯠ãĒ ãĸ ã ã 㨠įĢļ å įļ æ ãĢ ã ãĄ ã ã ã utmp ãŽ ã¨ ãŗ ã ãĒ ãŧ ã åŖ ã ã ã ã æŊ å¨ į ãĒ ãģ ã ãĨ ãĒ ã ãŖ ã ãŧ ãĢ ãĢ ãĒ ã å¯ čŊ æ§ ã ã ã ã ä¸ čŋ° ㎠ã ãŖ ãŧ ãĢ ã ã ã ãĢ ã 㤠ã ã§ å ã ãĻ ã¯ ãĒ ãĸ ã ãĻ ã ã ㎠㯠ã System V 㧠㎠å ã æąē ã 㧠㯠åŋ čĻ ã¨ ã¯ ã ã ãĻ ã ãĒ ã ã ã BSD 㧠㎠å ã æąē ã ã å æ 㨠ã ãĻ ã ãĻ ã ã 㤠utmp ã æ´ æ° ã ãĒ ã å¤ ã ㎠ã ã 㰠㊠ã ã å äŊ ã ã ã ã ãĢ ã ã ã ã ã§ ã ã ã Linux 㧠㯠ã ã ãž ã§ č¨ čŋ° ã ãĻ ã ã ã ã ãĢ ã čĄ å 厚 ãŽ čĄ¨ į¤ē 㯠BSD ãŽ æ Ŗ äž ãĢ åž ãŖ ãĻ ã ã ã
UT_UNKNOWN 㯠Linux ã§ äŊ ã ã ã ã ㎠㎠ã ã ã§ ã ã ã System V ãĢ ã¯ ut_host ã ut_addr_v6 ã å å¨ ã ãĒ ã ã
æŗ¨ æ
ã ãĄ ã¤ ãĢ ã å é¤ ã ã ã 㨠㧠utmp ã¸ ãŽ č¨ é˛ ã æĸ ã ã ã ã äģ ãŽ æ§ ã ãĒ ãˇ ãš ã ã 㨠㯠é ã ã Linux 㧠㯠utmp ã ãĄ ã¤ ãĢ ã åŋ ã ã ã ãĻ ã ã åŋ čĻ ã ã ã ã who (1) ãŗ ã ãŗ ã ã æŠ čŊ ã ãĒ ã ã ã ãĢ ã ã ã å ´ å ãĢ ã¯ ã utmp ã ãĄ ã¤ ãĢ ãŽ å ¨ ãĻ ãŧ ãļ ãŧ ãĢ å¯ž ã ã čĒ ãŋ å ã 訹 å¯ ã č¨ åŽ ã ãĒ ã ã ã ãĢ ã ã ã
ã ãĄ ã¤ ãĢ ãŽ ã ㊠ãŧ ã ã ã 㯠ã ãˇ ãŗ ãĢ äž å ã ã ㎠㧠ã ã ãĄ ã¤ ãĢ ã äŊ ã ã ã ã ãˇ ãŗ ã ã ã 㯠å ä¸ ãĸ ãŧ ã ã 㯠ã ãŖ ãŧ ㎠ã ãˇ ãŗ ä¸ ã§ ãŽ ãŋ åĻ į ã ã ã ã¨ ã æ¨ åĨ¨ ã ã ã
æŗ¨ æ ã ãš ã įš ã¨ ã ãĻ ã¯ ã biarch ãĒ ã ㊠ã ã ã ㊠ãŧ ã ã 㤠㞠ã 32ã ã ã 㨠64ã ã ã ãŽ ä¸Ą æš ãŽ ãĸ ã ãĒ ãą ãŧ ãˇ ã§ ãŗ ã åŽ čĄ ã§ ã ã ãˇ ãš ã ã (x86-64, ppc64, s390x ãĒ ãŠ ) 㧠㯠ã ut_tv ㎠ãĩ 㤠ãē 㯠32ã ã ã ãĸ ãŧ ã 㨠64ã ã ã ãĸ ãŧ ã ã§ å ã ã§ ã ã ã ut_session 㨠ut_time ã ã å å¨ ã ã å ´ å ãĢ ã¯ å æ§ ãĢ å ã ãĩ 㤠ãē ã§ ã ã ã ã ã ãĢ ã ã ã 32ã ã ã ãĸ ã ãĒ ãą ãŧ ãˇ ã§ ãŗ ã¨ 64ã ã ã ãĸ ã ãĒ ãą ãŧ ãˇ ã§ ãŗ ãŽ é ã§ ã ãŧ ãŋ ã ãĄ ã¤ ãĢ ã¨ å ą æ ãĄ ãĸ ãĒ ãŧ ã å ą æ ã ã ã 㨠ã å¯ čŊ ãĢ ãĒ ã ã ã ㎠ã ã ãĢ ã¯ ã ut_session ã int32_t å ãĢ ã ut_tv ã 2㤠㎠int32_t å ㎠ã ãŖ ãŧ ãĢ ã tv_sec , tv_usec ã æ ã¤ æ§ é äŊ ãĢ å¤ æ´ ã ã ã° ã ã ut_tv 㯠struct timeval 㨠å ã ãĩ 㤠ãē 㨠㯠é ã ãĒ ã ㎠㧠ã
gettimeofday((struct timeval *) &ut.ut_tv, NULL);
㎠ã ã ãĒ åŧ ãŗ åē ã ã ã ã ㎠㧠㯠ãĒ ã ã äģĨ ä¸ ãŽ ã ã ãĢ å ã ãŖ ãŧ ãĢ ã ã č¨ åŽ ã ã æš æŗ ã æ¨ åĨ¨ ã ã ã :
struct utmp ut;
struct timeval tv;
gettimeofday(&tv,
NULL);
ut.ut_tv.tv_sec = tv.tv_sec;
ut.ut_tv.tv_usec = tv.tv_usec;
éĸ éŖ é įŽ
ac (1), date (1), init (1), last (1), login (1), logname (1), lslogins (1), users (1), utmpdump (1), who (1), getutent (3), getutmp (3), login (3), logout (3), logwtmp (3), updwtmp (3)
ã ãŽ æ æ¸ ãĢ ã¤ ã ãĻ
ã ㎠man ã ãŧ 㸠㯠Linux man-pages ã ã 㸠㧠㯠ã ㎠ãĒ ãĒ ãŧ ãš 5.10 ãŽ ä¸ é¨ ã§ ã ã ã ã ã 㸠㧠㯠ã ㎠čĒŦ æ 㨠ã ã° å ą å ãĢ éĸ ã ã æ å ą 㯠https://www.kernel.org/doc/man-pages/ ãĢ æ¸ ã ã ãĻ ã ã ã