Linux中的程序和进程,PID和PPID | 您所在的位置:网站首页 › ppid为1的进程 › Linux中的程序和进程,PID和PPID |
环境:Vmware Workstation;CentOS-6.4-x86_64 程序和进程: 1、程序:程序是静止的,程序就是磁盘上的一个文件。 2、进程:进程是一个正在执行的程序的实例。 3、进程是动态的。 4、一旦程序被操作系统加载进内存了,那么这程序就成为了进程。 PID和PPID: 1、PID(process ID): PID是程序被操作系统加载到内存成为进程后动态分配的资源。 每次程序执行的时候,操作系统都会重新加载,PID在每次加载的时候都是不同的。 2、PPID(parent process ID):PPID是程序的父进程号。 3、PID和PPID都是非零的整数。 4、PID是唯一的,一个PID只标识一个进程。 5、一个进程创建的另一个新进程称为子进程。相反地,创建子进程的进程称为父进程。 6、对于一个普通的用户进程,它的父进程就是执行它的哪个Shell,对于Linux而言,Shell就是bash。 7、bash所在的目录:[negivup@localhost bin]$ cd /bin | ls bash 特别说明: 1、所有进程追溯其祖先最终都会落到进程号为1的进程身上,这个进程叫init进程 2、init进程是linux内核启动后第一个执行的进程。 3、init引导系统,启动守护进程并且运行必要的程序。 获取PID和PPID的函数: 1、得到进程的PID:pid_t getpid(void); 2、得到进程的PPID:pid_t getppid(void); 通过程序获取当前程序的PID和PPID: #include #include #include int main(int argc, char *args[]) { // 获取当前进程的PID pid_t pid = getpid(); printf("pid = %d\n", pid); // 获取当前进程的PPID pid_t ppid = getppid(); printf("ppid = %d\n", ppid); return 0; }PS:根据传智播客视频学习整理得出。 |
CopyRight 2018-2019 实验室设备网 版权所有 |