2012-09-05 23 views
1

我需要知道哪个perl脚本正在使用我的C CLI。有没有办法打印调用我的C二进制进程的PID

使用bash,我可以轻松打印使用“谁”跑的脚本:

CALLER=$(ps ax | grep "^ *$PPID" | awk '{print $NF}') 
echo $CALLER 

到现在我一直在用这个作为一个包装,但它的效果并不理想。有没有办法从C中获取这些信息?

(我运行UNIX W/GCC)

+1

'getpid()'....? – JosephH

回答

3

的父进程ID你应该看看getpidgetppid功能从<unistd.h>

#include <stdio.h> 
#include <unistd.h> 
#include <sys/types.h> 

int 
main(void) 
{ 
    printf("%ld%ld", (long)getpid(), (long)getppid()); 
    return 0; 
} 
5

使用getppid。请参阅man 2 getppidhere's linux手册页。

getppid()返回调用进程

相关问题