5.1.3 网络编程进阶---查看进程ID和父进程ID

获取本进程id: os.getpid()

获取父进程id:   os.getppid()

from multiprocessing import Process
import time
import os

class MyProcess(Process):    # 继承Process类
    def __init__(self, name):
        super().__init__()
        self.name = name

    def run(self):   # 必须重写run方法
        print(‘%s is running; 父进程id是:%s‘ % (os.getpid(), os.getppid()))
        time.sleep(3)
        print(‘%s is ending; 父进程id是:%s‘ % (os.getpid(), os.getppid()))

if __name__ == ‘__main__‘:
    p = MyProcess(‘xxx‘)
    p.start()     # start自动绑定到run方法
    print(‘主进程ID是:%s; 主进程的父进程ID是: %s‘ % (os.getpid(), os.getppid()))  # 主进程的父进程是pycharm或执行该脚本的进程

# 输出结果:
# 主进程ID是:771; 主进程的父进程ID是: 540
# 772 is running; 父进程id是:771
# 772 is ending; 父进程id是:771

原文地址:https://www.cnblogs.com/beallaliu/p/9189860.html

时间: 2024-08-02 12:49:39

5.1.3 网络编程进阶---查看进程ID和父进程ID的相关文章

网络编程进阶及并发编程

并发编程之多进程 进程理论 进程 进程:正在运行的一个过程或一个任务.负责执行任务的是cpu. 程序与进程的区别:程序只是一堆代码,而进程指的是程序的运行过程. 注意同一个程序执行两次,是两个进程.比如打开两个QQ,登陆的是不同人的QQ号. 并行与并发 无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu, cpu来做这些任务,而一个cpu同一时刻只能执行一个任务. 并发:并发是看起来像是一起执行,实际上是通过在不同人物之间快速切换,使任务

进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端

摘要:本文主要介绍进程的基本属性,基本属性包括:进程ID.父进程ID.进程组ID.会话和控制终端. 进程基本属性 1.进程ID(PID) 函数定义: #include <sys/types.h> #include <unistd.h> pid_t getpid(void); 函数说明: 每个进程都有一个非负整型表示的唯一进程ID(PID).好比如我们的身份证一样,每个人的身份证号是唯一的.因为进程ID标示符总是唯一的,常将其用来做其他标示符的一部分以保证其唯一性,进程ID(PID)

第八章网络编程进阶

####一.问答题 1.简述计算机操作系统中的"中断"的作用? 中断指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程 计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得cpu暂时中断当前正在执行的程序而转去执行相应的事件处理程序. 待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程.它使计算机可以更好更快利用有限的系统资源解决系统响应速度和运行效率的一种控制技术. 实时响应 + 系统调用 2.简述计算机内存中的"内核态

day8--socket网络编程进阶

socket:socket就是实现服务器和客户端数据的交换,服务器端接收并发送数据,客户端发送并接收数据,并且需要注意的是,在python3中,socket值接收字节.因为客户端在发送连接给服务器的时候,要转换为字节码:服务器端在返回给客户端的时候,也要转换为字节码. 如下所示: 服务器端: import socket,os server = socket.socket() server.bind(("localhost",9999)) server.listen() while Tr

Socket网络编程进阶与实战

第1章 课程导学(Java语言教学)[说明:课程案例部分以Java语言实现]本章节首先会对课程进行导学讲解,包括为什么应该学习本课程,课程目标与收获,课程内容安排,适合人群和学习建议等,接着会讲解代码规范与开发注意事项,目的全在于希望极大的方便同学进行本课程的学习.... 第2章 Socket网络编程快速入门本章首先整体介绍什么是Socket网络编程:让大家对Socket有个大概的概念与方向.之后通过几个小Case引出课程的主角,轻松愉快的让你体验到Socket编程的快感.本章节主要收获:1.

网络编程进阶:并发编程之协程、IO模型

协程: 基于单线程实现并发,即只用一个主线程(此时可利用的CPU只有一个)情况下实现并发: 并发的本质:切换+保存状态 CPU正在运行一个任务,会在两种情况下切走去执行其他任务(切换有操作系统强制控制),一种情况是该任务发生了阻塞,另一种是该任务计算的时间过长或有一个优先级更高的程序替代了它 在介绍进程理论时,提及进程的三种执行状态,而线程才是执行单位,所以也可以将上图理解为线程的三种状态 如果多个任务都是纯计算的,上图的情况2并不能提升效率,因为只是让CPU来回切,这样看起来所有任务都被"同时

第十章:Python の 网络编程进阶

本課主題 Python中的作用域补充 socketserver 源码 本周作业 Python中的作用域补充 Python世界里沒有块级作用域的:在 Java/C+ 世界里没法打印 name. # 在 Java/C+ 世界里没法打印 name # 但在 Python/ JavaScript 世界里可以打印 name >>> if 1 == 1: ... name = 'Janice' ... >>> print(name) Janice Python中无块级作用域(小知识

3、第八周 - 网络编程进阶 - Redis消息缓存

Redis概念 Redis是主流的key-value nosql 数据库之一.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作.,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据

5.1.2 网络编程进阶---开启子进程的两种方式

当主进程开启子进程后,主进程会与子进程并行执行.当主进程执行后不会立马结束进程,而是会等子进程结束才结束,好去清理僵尸子进程(给子进程收尸). 第一种方式: from multiprocessing import Processimport time def task(name): print('%s is running' % name) time.sleep(3) print('%s is done' % name) if __name__ == '__main__': p = Proces