python模块os.getpid 和os.getppid在多进程中的应用

python函数os.getpid可以获取当前进程的PID,
python函数os.getppid 可以获取当前进程的主进程的PPID
上代码:

import os
from multiprocessing import Process
import time

def main():
    p1 = Process(target=demo1)
    p2 = Process(target=demo2)
    p1.start()
    p2.start()
    print('主进程')
    print('子进程PID:', os.getpid(), '主进程PPID', os.getppid())
    #p1.join()
    #p2.join()

def demo1():
    print('子进程1')
    print('子进程PID:',os.getpid(),'主进程PPID',os.getppid())
    time.sleep(200)


def demo2():
    print('子进程2')
    print('子进程PID:',os.getpid(),'主进程PPID',os.getppid())
    time.sleep(200)

if __name__ == '__main__':
    main()

执行结果:
主进程
子进程PID: 8932 主进程PPID 9128
子进程1
子进程PID: 8976 主进程PPID 8932
子进程2
子进程PID: 5840 主进程PPID 8932

查看任务管理器中的进程PID
在这里插入图片描述
通过对比图片可以发现开始的主进程的PPID号与pycharm的PID是一样的
子进程中的父进程的PPID是主进程的PID
主进程的PPID是pycharm的PID
由此可知pycharm是主进程的父进程,主进程又是子进程的父进程
如果是通过explorer启动的python文件,那么其父进程就是explorer.exe

子进程的PID也有相应的python进程对应
父进程创建的是子进程,每一个子进程都有一个不重复的PID,对每个子进程进行表示
子进程与父进程的资源代码是一致的
这里的子进程是由python文件创建的

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
os.getpid()是一个Python函数,用于获取当前进程的PID(进程ID)。\[3\]它返回一个整数值。 os.getppid()也是一个Python函数,用于获取当前进程的主进程的PPID(父进程ID)。\[3\]它返回一个整数值。 在多进程编程,每个进程都有自己的PID和PPIDPID是进程的唯一标识符,而PPID是创建该进程的父进程的PID。\[1\] \[3\] #### 引用[.reference_title] - *1* [python os.fork() os.getpid() os.getppid()](https://blog.csdn.net/GG_Fu/article/details/107497878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [对pythonos.getpid()和os.fork()函数详解](https://blog.csdn.net/weixin_34539480/article/details/115757134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python模块os.getpidos.getppid多进程应用](https://blog.csdn.net/LCY133/article/details/107151882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值