我需要知道哪个perl脚本正在使用我的C CLI。
使用bash我可以使用以下方式轻松打印“who”运行脚本:
CALLER=$(ps ax | grep "^ *$PPID" | awk '{print $NF}')
echo $CALLER
到目前为止,我一直在使用它作为包装,但它并不理想。有没有办法从C中获取这些信息?
(我正在运行UNIX w / gcc)
答案 0 :(得分:6)
答案 1 :(得分:4)
您应该查看getpid
中的getppid
和<unistd.h>
个功能。
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int
main(void)
{
printf("%ld%ld", (long)getpid(), (long)getppid());
return 0;
}
答案 2 :(得分:2)
使用getppid()
获取进程'父级的进程ID。