Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       login, logout - utmp と wtmp エントリーを書き込む

書式

       #include <utmp.h>

       void login(const struct utmp *ut);

       int logout(const char *ut_line);

       -lutil でリンクする。

説明

       utmp ファイルは現在システムを使用しているユーザーを記録する。 wtmp ファイルはすべてのログインとログアウト
       を記録する。 utmp(5) を参照すること。

       関数 login()  は与えられた struct utmp ut を utmp と wtmp ファイルの両方に書き込む。

       関数 logout()  は utmp ファイルにあるエントリーをクリアする。

   GNU 版の詳細
       より正確には、   login()    は引数   ut   構造体をとり、(もし存在するならば)  フィールド  ut->ut_typeUSER_PROCESS という値にし、(もし存在するならば) フィールド ut->ut_pid  を呼び出し元プロセスのプロセス  ID
       の値にする。  次にフィールド  ut->ut_line の値を設定しようとする。 この関数は、標準入力・標準出力・標準エ
       ラー出力の中から端末である最初のものをとり、対応するパス名から先頭の /dev/ を引いたものを  このフィールド
       に格納して、この構造体を   utmp  ファイルに書き込む。  一方、端末名が見つからない場合は、このフィールドは
       "???" とされて、 この構造体は utmp ファイルに書き込まれない。 その後にこの構造体は wtmp  ファイルに書き込
       まれる。

       logout()   関数は utmp ファイルから ut_line 引数にマッチするエントリーを探す。 レコードが見つかった場合、
       ut_nameut_host フィールドをクリアして、 ut_tv タイムスタンプフィールドを更新し、 (もし存在するならば)
       ut_type フィールドを DEAD_PROCESS に更新する。

返り値

       エントリーをデータベースに書き込むのに成功した場合、 logout()  関数は 1  を返す。  またエラーが起こった場
       合、0 を返す。

ファイル

       /var/run/utmp
              ユーザーアカウントデータベース。 <paths.h> における _PATH_UTMP で設定されている。

       /var/log/wtmp
              ユーザーアカウントログファイル。 <paths.h> における _PATH_WTMP で設定されている。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。
       ┌──────────────────┬───────────────┬──────────────────────┐
       │ インターフェース属性                   │
       ├──────────────────┼───────────────┼──────────────────────┤
       │ login(),         │ Thread safety │ MT-Unsafe race:utent │
       │ logout()         │               │ sig:ALRM timer       │
       └──────────────────┴───────────────┴──────────────────────┘

       In  the above table, utent in race:utent signifies that if any of the functions setutent(3), getutent(3),
       or endutent(3)  are used in parallel in different threads of a program,  then  data  races  could  occur.
       login()  and logout()  calls those functions, so we use race:utent to remind users.

準拠

       POSIX.1 にはない。 BSD 系に存在する。

注意

       struct  utmp のメンバ ut_user は、BSD では ut_name という名前である点に注意すること。 そのため ut_name<utmp.h> において ut_user のエイリアスとして定義されている。

関連項目

       getutent(3), utmp(5)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10  の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

GNU                                                2017-09-15                                           LOGIN(3)