黑马程序员Python高级语法进阶教程-5_获取进程编号

黑马程序员 Python 高级语法进阶教程 - 第4节 获取进程编号

多进程是 Python 提升执行效率的重要手段,然而当我们程序中运行了多个进程时,如何管理这些“同时跑起来的任务”?这时候就需要一个重要概念——进程编号(Process ID)

本节课程将带我们掌握如何在 Python 中获取当前进程编号与父进程编号,并理解这些编号在多进程管理中的作用。


一、为什么要获取进程编号?

正如图中所示,当程序中运行的进程数量变得越来越多时,主进程和各个子进程的执行就很难直观区分。为了方便我们:

  • 管理每一个独立运行的进程

  • 在日志输出中明确每条信息来源于哪个进程

  • 调试或排错更方便

✅ 每个进程都有独立的编号,系统通过 PID(Process ID)识别它们。


二、获取进程编号的方法

Python 标准库中 os 模块提供了两个常用方法:

方法名功能描述
os.getpid()获取当前进程的编号(PID)
os.getppid()获取当前进程的父进程编号(PPID)

 


三、代码演示:获取子进程和主进程编号

我们以 codingmusic 两个函数作为子进程任务进行演示:

import multiprocessing
import os
import time

def coding(count, name):
    print("coding 进程编号:", os.getpid())
    print("coding 父进程编号:", os.getppid())
    for i in range(count):
        print(name)
        print("coding...")
        time.sleep(0.2)

def music(count):
    print("music 进程编号:", os.getpid())
    print("music 父进程编号:", os.getppid())
    for i in range(count):
        print("music...")
        time.sleep(0.2)

if __name__ == '__main__':
    print("主进程编号:", os.getpid())

    coding_process = multiprocessing.Process(target=coding, args=(3, "日天"))
    music_process = multiprocessing.Process(target=music, kwargs={"count": 3})

    coding_process.start()
    music_process.start()

 

🔍 输出示例:

主进程编号:4888
coding 进程编号:4890
coding 父进程编号:4888
music 进程编号:4891
music 父进程编号:4888

这表示我们成功开启了两个子进程,并通过 PID 将它们和主进程区分开。


四、知识点总结

序号内容方法
1获取当前进程编号(PID)os.getpid()
2获取当前父进程编号(PPID)os.getppid()

📌 注意事项:

  • os.getpid()os.getppid() 常用于打印调试信息

  • 在多进程中,它们是区分进程身份的有力手段

  • 你也可以用这些编号来跟踪资源占用、异常定位等


五、我的理解与思考

在学习完这节课之后,我有了两个新的认识:

  1. 多进程不仅仅是“跑多个任务”那么简单,能识别和管理进程,才是写好多进程程序的第一步。

  2. os.getpid()os.getppid() 不仅仅是获取编号,它们其实是连接“进程关系树”的工具:父子进程之间的身份认证,靠它们就能搞清楚。


六、预告:下一节内容

下一节将继续深入多进程的世界,讲解如何使用 join() 方法让主进程等待子进程执行完毕,避免“主线程抢跑”。

如果你也在学习 Python 多任务,不妨一边敲代码一边对照进程号输出,一定能加深对多进程的感知和掌控!


📌 课程来源:黑马程序员 Python 高级语法教程(www.itheima.com)
📌 实操环境:PyCharm + Ubuntu 虚拟机

—— END ——

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值