Как в си узнать какой пользователь вошёл в систему linux?
Вариант 1:
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char **argv)
{
    char *cmd = "whoami";
    char buf[BUFSIZ];
    FILE *ptr;
 
    if ((ptr = popen(cmd, "r")) != NULL)
        while (fgets(buf, BUFSIZ, ptr) != NULL)
            (void) printf("%s", buf);
            (void) pclose(ptr);
    return 0;
}
Вариант 2:
#include <stdlib.h>
 
int main(int argc,char **argv)
{
    system("whoami");
    return 0;
}
Оба варианта вернут имя текущего пользователя.

А такое не сработает: `system("who -a")`? Нужен 'stdlib.h'.  Источник: https://www.techonthenet.com/c_language/standard_l...