gpt4 book ai didi

linux - Linux 中进程的所有权(给定 PID)

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

我有一个用户级程序,它将 PID 作为输入。在继续执行程序之前,我需要检查我是否拥有该进程。

我是 Linux 新手,我想知道是否有办法检查我是否拥有该进程..?

最佳答案

可能最简单的方法是检查伪目录 /proc/PID 的所有者。

您可以使用stat()函数获取文件或目录的所有者。您可以将其与使用 geteuid()getuid() 获得的结果进行比较。

大致如下:

char name[50];
struct stat st;
sprintf(name, "/proc/%d", pid);
stat(name, &st);
printf("uid: %d gid: %d\n", st.st_uid, st.st_gid);

但是,您应该首先重新考虑为什么需要它。例如,如果您想向该进程发送信号(kill()),则不应检查是否能够这样做。您只需尝试一下,然后再考虑操作失败时的情况。

关于linux - Linux 中进程的所有权(给定 PID),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770094/

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