1
A
回答
2
你可以只扩展你的代码,这样的..
kinfo_proc *mylist;
size_t mycount = 0;
mylist = (kinfo_proc *)malloc(sizeof(kinfo_proc));
GetBSDProcessList(&mylist, &mycount);
char *user = getenv("USER");
for (int i = 0; i < mycount; i++)
{
uid_t uid = mylist[i].kp_eproc.e_pcred.p_ruid;
struct passwd * pwd = getpwuid(uid);
char * username = pwd->pw_name;
if(strcmp(username, user) == 0)
{
printf(" %d - %s \n", mylist[i].kp_proc.p_pid, mylist[i].kp_proc.p_comm);
}
}
0
为了更准确,你可以得到的用户名购买这一技术
SCDynamicStoreRef store;
store = SCDynamicStoreCreate(NULL, CFSTR("com.apple.dts.ConsoleUser"), NULL, NULL);
CFStringRef currentConsoleUser = CopyCurrentConsoleUsername(store);
const int kBufferSize = 256;
char logedinusername[kBufferSize];
CFStringGetCString(currentConsoleUser,logedinusername,kBufferSize,kCFStringEncodingMacRoman);
为getenv( “用户”);如果以root用户身份运行并希望以登录用户身份运行,则可能无法工作。
相关问题
- 1. 如何检查进程是否属于当前用户?
- 2. 查找PID属于的tmux会话
- 3. 如何检查当前PC用户是否是当前登录的用户?
- 4. 如何检测当前的WPF窗口是否在用户会话前台?
- 5. Javascript:如何检查时间戳是否属于当前日期?
- 6. 如何检查会话是否存在?
- 7. 如何检查会话是否存在?
- 8. 如何检查会话是否超时?
- 9. 如何检查用户是否在当前组件内单击?
- 10. 如何检查用户当前是否登录到Windows?
- 11. 如何检查当前登录用户是否存在于Active Directory中
- 12. 检查句柄是否属于当前进程?
- 13. 如何检查点是否属于ConvexShape?
- 14. 如何检查每个会话的会话是否有效?
- 15. 如何检查会话ID是否已存在于redis
- 16. 如何检查当前版本的Java是否高于1.6
- 17. jquery如何检查日期是否小于当前日期
- 18. 如何检查当前日期是否大于结束日期?
- 19. jQuery如何检查div的当前位置是否等于
- 20. 要检查会话是否可用
- 21. 检查用户是否是会员
- 22. 检查当前用户ID
- 23. 使用SPservices检查列表中是否存在当前用户
- 24. 我该如何检查当前用户是否是rails中的admin?
- 25. 如何检查当前用户是否是Realm SyncUser的管理员?
- 26. Sharepoint:找出当前用户是否属于指定组
- 27. 如何检查当前的PHP会话设置或未设置
- 28. PHP:会话,以检查用户是否登录
- 29. Ruby on rails - Authlogic:定期检查用户会话是否有效
- 30. 检查当前是否有用户登录到Windows