[P&AM Lab] who (BusyBox)Вопрос о файле /var/run/utmp

Grigoriy A. Sitkarev sitkarev на komitex.ru
Чт Дек 23 05:12:54 MSK 2010


Да, хранятся И о тех кто работает в системе тоже.

Дело в том что в utmp есть кое-что ещё. Если бы ты внимательно посмотрел 
utmp(5) то нашёл бы там описание структуры utmp. По значениям полей 
ut_type там дана расшифровка.

#define EMPTY		0 /* пустая запись */
...
#define BOOT_TIME	2 /* время загрузки системы в ut_tv */
...
#define DEAD_PROCESS	8 /* завершённый процесс */

--
Г.А.

Борис Липин пишет:
> При разборе утилиты who возникли вопросы по структуре utmp, на сколько я понял в ней хранятся данные о пользователях в данный момент работающих в системе.Для проверки написал програмку:
> 
> int main(int argc, char *argv[])
> {
>     struct utmp *ut;
>     int i=0;
>     setutent();
>     while((ut = getutent()) != NULL) {
>         printf("%02d UT_ID=%s ut_type=%d ",i++ ,ut->ut_id, ut->ut_type);
>         printf("pid=%d User-%s\n",ut->ut_pid, ut->ut_user);
>     }
> return 0;
> }
> 
> На выводе получилось:
> 
> 00 UT_ID=si ut_type=8 pid=653 User-
> 01 UT_ID=~~ ut_type=2 pid=0 User-reboot
> 02 UT_ID=~~ ut_type=1 pid=20018 User-runlevel
> 03 UT_ID=l2 ut_type=8 pid=1651 User-
> 04 UT_ID=1 ut_type=6 pid=2459 User-LOGIN
> 05 UT_ID=2 ut_type=6 pid=2460 User-LOGIN
> 06 UT_ID=ts/0ruyk ut_type=7 pid=6870 User-ruyk
> 07 UT_ID=ts/7ruyk ut_type=8 pid=2736 User-ruyk
>  
> Строки 04-07 - это информация о запущенных терминалах. А откуда взялись строки 00-03 и что они значат?





Подробная информация о списке рассылки Lab