有没有一种方法可以从linux守护程序中登录用户名?我尝试过
seteuid(1000);
std::string userName = getlogin();
但是似乎此调用失败,之后我的应用程序终止了。一般情况如下:运行我的守护进程的一些脚本。在此守护程序内部,我启动了另一个UI进程(将其称为A)。然后在进程A中,我尝试使用前面所述的方法获取用户名。我的进程A在getlogin
调用后终止。是否有任何可靠的方法可以从进程A登录用户名?
/etc/passwd
文件支持):struct passwd *pw = getpwuid(geteuid());
string userName = pw->name;