whoを書く(macbook)
macだと
- utmpではなくてutmpxを
- 時刻がut_tv.tv_sec
あと以下の関数のcp+4は先頭の文字列4つを落としている。
void show_time(long timeval){
char *cp;
cp = ctime(&timeval);
printf("%12.12s", cp+4);
}
作ったwho2は月の表記がオリジナルとちょっと違うけどまぁいいか。
$ ./who2
kzfm console Sep 27 17:31
kzfm ttys000 Sep 27 17:32
kzfm ttys001 Sep 27 18:50
kzfm ttys002 Sep 27 18:50
$ who
kzfm console 9 27 17:31
kzfm ttys000 9 27 17:32
kzfm ttys001 9 27 18:50
kzfm ttys002 9 27 18:50
pythonからutmpx(utmp)ファイルにアクセスするにはpyutmpってのがあってCythonで書かれている。
他にもunagi.pyをみるとstructモジュールを使ってアクセスできるようだ。