在linux中,每个进程都会有一个ID(identification)来标明该进程,用来进行进程操作,具体怎么使用,我们后续进行说明,今天先给大家演示下如何获取进程的ID。
linux中采用getpid()和getppid()来获取进程和父进程的id号,看下面例子:
#include #include #include int main() { printf("pid=%d\n",getpid());//获得本进程id printf("ppid=%d\n",getppid());//获得父进程id return 0; }
将该例子在mygwin中进行编译,进行如下步骤的操作:
carl.ma@CNQDSX-000211 ~/getpid $ ls getpid.c carl.ma@CNQDSX-000211 ~/getpid $ gcc getpid.c -o getpid carl.ma@CNQDSX-000211 ~/getpid $ ls getpid.c getpid.exe carl.ma@CNQDSX-000211 ~/getpid $ ./getpid.exe pid=6472 ppid=1068 我们可以看到这个进程的id pid和该进程的父进程 ppid。分析:其实在linux中,我的理解是main函数是在linux系统中某个进程中开辟的新进程,因此在main()函数中可以试用getppid进行父进程id的获取。希望有坛友对这个问题进行更加详尽的补充。
附件为该节测试程序:
getpid.rar