Linux中的程序和进程,PID和PPID

Linux中的程序和进程,PID和PPID环境 VmwareWorkst CentOS 6 4 x86 64 程序和进程 1 程序 程序是静止的 程序就是磁盘上的一个文件 2 进程 进程是一个正在执行的程序的实例 3 进程是动态的 4 一旦程序被操作系统加载进内存了 那么这程序就成为了进程 PID 和 PPID 1 PID processID PID 是程序被操作系统加载到内存成为进

环境: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; } 
     
    
  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203954.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午9:12
下一篇 2026年3月19日 下午9:13


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号