Close Menu
    Facebook X (Twitter) Instagram
    Command Linux
    • About
    • How to
      • Q&A
    • OS
      • Windows
      • Arch Linux
    • AI
    • Gaming
      • Easter Eggs
    • Statistics
    • Blog
      • Featured
    • MORE
      • IP Address
      • Man Pages
    • Write For Us
    • Contact
    Command Linux
    Home - man page - LOGIN

    LOGIN

    WillieBy WillieApril 16, 2026Updated:April 16, 2026No Comments2 Mins Read
     

    NAME

    login, logout – write utmp and wtmp entries  

    SYNOPSIS

    #include <utmp.h>

    void login(const struct utmp *ut);

    int logout(const char *ut_line);

    Link with -lutil.  

    DESCRIPTION

    The utmp file records who is currently using the system. The wtmp file records all logins and logouts. See utmp(5).

    The function login() takes the supplied struct utmp, ut, and writes it to both the utmp and the wtmp file.

    The function logout() clears the entry in the utmp file again.  

    GNU details

    More precisely, login() takes the argument ut struct, fills the field ut->ut_type (if there is such a field) with the value USER_PROCESS, and fills the field ut->ut_pid (if there is such a field) with the process ID of the calling process. Then it tries to fill the field ut->ut_line. It takes the first of stdin, stdout, stderr that is a terminal, and stores the corresponding pathname minus a possible leading /dev/ into this field, and then writes the struct to the utmp file. On the other hand, if no terminal name was found, this field is filled with "???" and the struct is not written to the utmp file. After this, the struct is written to the wtmp file.

    The logout() function searches the utmp file for an entry matching the ut_line argument. If a record is found, it is updated by zeroing out the ut_name and ut_host fields, updating the ut_tv timestamp field and setting ut_type (if there is such a field) to DEAD_PROCESS.  

    RETURN VALUE

    The logout() function returns 1 if the entry was successfully written to the database, or 0 if an error occurred.  

    FILES

    /var/run/utmp
    user accounting database, configured through _PATH_UTMP in <paths.h>
    /var/log/wtmp
    user accounting log file, configured through _PATH_WTMP in <paths.h>
     

    CONFORMING TO

    Not in POSIX.1-2001. Present on the BSDs.  

    NOTES

    Note that the member ut_user of struct utmp is called ut_name in BSD. Therefore, ut_name is defined as an alias for ut_user in <utmp.h>.  

    Willie
    • Website

    Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.

    Related Posts

    SHCOMP

    May 7, 2026

    CHRT

    May 7, 2026

    UMOUNT

    May 7, 2026

    A2dismod

    May 7, 2026
    Top Posts

    How to Find Linux Version

    April 27, 2026

    SYSTEMD-REMOUNT-FS.SERVICE

    February 25, 2026

    NVIDIA Drivers

    February 4, 2026

    XFCE4-ABOUT

    February 26, 2026
    • Home
    • Contact Us
    • Privacy Policy
    • Terms of Use

    Type above and press Enter to search. Press Esc to cancel.