gpt4 book ai didi

c - 如何检查pid是否属于当前用户 session ?

转载 作者:太空宇宙 更新时间:2023-11-04 03:04:20 25 4
gpt4 key购买 nike

我可以从 this 中获取正在运行的进程列表Mac 上的源代码。

现在,我想为不同的用户或至少为当前用户 session 过滤这些进程。

最佳答案

你可以像这样扩展你的代码..

    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);
}
}

关于c - 如何检查pid是否属于当前用户 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7567140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com