【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】

前言

大家好吖,欢迎来到 YY 滴Linux 系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁
主要内容含:
【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】_第1张图片

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

  • YY的《C++》专栏
  • YY的《C++11》专栏
  • YY的《Linux》专栏
  • YY的《数据结构》专栏
  • YY的《C语言基础》专栏
  • YY的《初学者易错点》专栏
  • YY的《小小知识点》专栏
  • YY的《单片机期末速过》专栏
  • YY的《C++期末速过》专栏
  • YY的《单片机》专栏
  • YY的《STM32》专栏
  • YY的《数据库》专栏
  • YY的《数据库原理》专栏

目录

    • 1.系统调用接口查看pid,ppid
    • 2.为什么ppid父进程id不变?——bash命令行解释器与bash进程

1.系统调用接口查看pid,ppid

  • pid:当前进程
  • ppid:父进程
  • 每一次启动的进程, 系统会重新生成pid ,系统只保证当前生命周期内pid有效;
  • 但是 父进程不会变 【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】_第2张图片
    【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】_第3张图片
    【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】_第4张图片

2.为什么ppid父进程id不变?——bash命令行解释器与bash进程

  • 当我们运行一个进程时,命令行解释器会把这个指令解释成bash的子进程
  • 接着再由这个bash的子进程执行对应的命令
  • 当这个子进程出现问题时,并不影响bash的进程
  • 即:每一条命令被执行,都属于bash的子进程
  • 我们执行一段代码,parent对应的是getppid()函数;
    在这里插入图片描述
    我们接着用ps+grep过滤指令查看这个16815进程,发现其就是bash进程
    在这里插入图片描述

你可能感兴趣的:(YY滴,《Linux系列》,YYの小小知识点,linux,运维,服务器)