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