我正在编写一个作为Mac OSX中的系统服务运行的软件,似乎无法找到如何获取“活动”用户。OSX - 从系统服务中检索登录用户的用户标识
似乎有API可以遍历登录用户列表,并能够从某个值获知机器控制台的值,但是我找不到这些API的任何文档。
看着/dev
,看起来/dev/console
设备是由当前登录的用户拥有的...但是我一直无法找到任何文档来确认这一点。
任何想法?
我正在编写一个作为Mac OSX中的系统服务运行的软件,似乎无法找到如何获取“活动”用户。OSX - 从系统服务中检索登录用户的用户标识
似乎有API可以遍历登录用户列表,并能够从某个值获知机器控制台的值,但是我找不到这些API的任何文档。
看着/dev
,看起来/dev/console
设备是由当前登录的用户拥有的...但是我一直无法找到任何文档来确认这一点。
任何想法?
回答礼貌苹果Technical Q&A
要求SystemConfiguration.framework
#include <SystemConfiguration/SystemConfiguration.h>
/* .... */
CFStringRef result = SCDynamicStoreCopyConsoleUser(NULL, NULL, NULL);
/* .... */
,或者使用了utmpx API来获取所有登录的帐户从中你应该是一个列表能够获得必要的信息...
您可以使用getuid和getgid来获取用户的用户ID和组ID。您可以使用getlogin或getlogin_r检索当前用户名称的字符串表示形式。您可以通过getpwuid获取更多用户信息。
作为一个侧面说明,“男人”是你的朋友。每当你有疑问,请咨询UNIX Manual Pages。的
对不起,我没有完全明白你在问什么。我不认为你可以得到“活跃”用户,因为总有可能一次有多个用户登录。如果您想为特定用户执行某些操作,则可能需要创建一个每用户启动代理。 – 2009-07-30 08:02:27