我需要知道哪个 perl 脚本正在使用我的 C CLI。
使用 bash,我可以使用以下命令轻松打印“谁”运行脚本:
CALLER=$(ps ax | grep "^ *$PPID" | awk '{print $NF}')
echo $CALLER
到目前为止,我一直在使用它作为包装器,但这并不理想。有没有办法从 C 中获取这些信息?
(我正在运行带有 gcc 的 UNIX)
您应该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;
}
用于getppid()
获取进程父进程的进程 ID。