1.开启进程的两种方式

方式一:

from multiprocessing import Process
import time def task(name):
print('%s is running' %name)
time.sleep(3)
print('%s is done' %name) if __name__ == '__main__':
# Process(target=task,kwargs={'name':'子进程1'})
p = Process(target=task,args=('子进程',))
p.start() #仅仅只是给操作系统发送一个型号,给我开启一个子进程 print('主')
#运行这个程序就会产生一个父进程,在父进程运行过程当中,发一个系统调用,开启两个进程

方式二:

from multiprocessing import Process
import time class MyProcess(Process):
def __init__(self,name):
super().__init__() # 为了防止父类中还有,有用的方法,所以要重用一下
self.name = name def run(self): # 函数名必须用run
print('%s is running' %self.name)
time.sleep(3)
print('%s is done' %self.name) if __name__ == '__main__':
p = MyProcess('子进程1')
p.start() # 默认就掉用Process 下面的run方法
print('主')
'''
主进程为什么要等子进程结束在结束呢?
1.所有的子进程都要进入到僵尸状态
2.僵尸进程在父进程一直不死的情况下,会占用系统id,这样系统在执行进程的时候就可能启动不启来
孤儿进程:是子进程没有死,父进程先死了,但是这种进程是无害的。
'''

2.查看进程pid

from multiprocessing import Process
import time,os def task():
print('%s is running,parent id is <%s>' %(os.getpid(),os.getppid()))
time.sleep(3)
print('%s is done,parent id is <%s>' %(os.getpid(),os.getppid())) if __name__ == '__main__':
p = Process(target=task,)
p.start() print('主',os.getpid(),os.getppid()) #windows查看进程的id号:tasklist | findstr pycharm(进程)
#linux查看进程的id号:ps aux |grep pycharm(进程)
'''
打印结果
主 1996 13980 #13980是pycharm的id号
12528 is running,parent id is <1996>
12528 is done,parent id is <1996>
'''

并发编程---开启进程方式---查看进程pid的更多相关文章

  1. 03并发编程(多道技术+进程理论+进程join方法)

    目录 03 并发编程 03 并发编程

  2. Java并发编程(一):进程和线程之由来

    转自:http://www.cnblogs.com/dolphin0520/p/3910667.html 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当 ...

  3. Windows netstat 查看端口、进程占用 查看进程路径

    1.查看端口.进程占用 运行->进入cmd->netstat -ano 2.查看进程路径 运行->WMIC->process 3.查看进程PID和占用内存情况 运行->进 ...

  4. python并发编程之多进程(一):进程开启方式&多进程

    一,进程的开启方式 利用模块开启进程 from multiprocessing import Process import time,random import os def piao(name): ...

  5. 并发编程7 管道&事件&信号量&进程池(同步和异步方法)

    1,管道 2.事件 3.信号量 4.进程池的介绍&&进程池的map方法&&进程池和多进程的对比 5.进程池的同步方法和异步方法 6.重新解释同步方法和异步方法 7.回调 ...

  6. java并发编程(四)守护进程 线程阻塞的四种情况

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17099981 守护线程   Java中有两类线程:User Thread(用户线程).Da ...

  7. Linux杀死进程,查看进程

    http://blog.csdn.net/wojiaopanpan/article/details/7286430/

  8. Python并发编程(守护进程,进程锁,进程队列)

    进程的其他方法 P = Process(target=f,) P.Pid 查看进程号  查看进程的名字p.name P.is_alive()  返回一个true或者False P.terminate( ...

  9. python并发编程之进程1(守护进程,进程锁,进程队列)

    进程的其他方法 P = Process(target=f,) P.Pid 查看进程号  查看进程的名字p.name P.is_alive()  返回一个true或者False P.terminate( ...

随机推荐

  1. [OpenCV] Samples 16: Decompose and Analyse RGB channels

    物体的颜色特征决定了灰度处理不是万能,对RGB分别处理具有相当的意义. #include <iostream> #include <stdio.h> #include &quo ...

  2. Nginx-配置一个简单的http虚拟服务

    配置文件内容如下: #user nobody; worker_processes 4; #工作进程的个数,可以配置多个,一般配置成CPU的核数 pid logs/nginx.pid; # 此文件用于记 ...

  3. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】原创教程连载导读【连载完成,共二十九章】

    前言: 无数昼夜的来回轮替以后,这本<驱动篇I>终于编辑完毕了,笔者真的感动到连鼻涕也流下来.所谓驱动就是认识硬件,还有前期建模.虽然<驱动篇I>的硬件都是我们熟悉的老友记,例 ...

  4. WCF数据传输安全--数字证书

    WCF 的传输安全涉及认证(客户端与服务器端双向认证).消息一致性(签名)和机密性(加密)三个主题. 常用认证方式: 第一:用户名/密码认证:wcf提供三种认证模式:1.将用户名映射到windows账 ...

  5. Android 更改按钮样式 Button Styles

    extends:http://stackoverflow.com/questions/26346727/android-material-design-button-styles   I will a ...

  6. OpenCV 1.0在VC6下安装与配置(附测试程序)

    步骤: 1 安装Visual C++ 6.0         2 安装OpenCV 1.0        3 配置Windows环境变量         4 配置Visual C++ 6.0     ...

  7. linux 下实用软件工具推荐

    截图:Deepin-Screenshot 音乐:deepin-music netease-music 绘图工具:Draw.io Desktop (chrome extension) / www.pro ...

  8. Thinkphp 中的自动验证 上一篇有例子

    说明,只要定义了Model,在任何地方调用,都会进行验证.很方便. 必须是D方法,才会有效.M方法不会触发自动验证. 说明:这里没练习静态自动验证:如果用到静态验证首先自定义一个控制器,再在Model ...

  9. css3---2D效果 ---3D效果

    CSS3边框: CSS3圆角:border-radius(**px 或 **%) 属性——创建边框线的圆角 CSS3盒子阴影:box-shadow属性——创建阴影 box-shadow:30px 0p ...

  10. sklearn的K折交叉验证函数KFold使用

    K折交叉验证时使用: KFold(n_split, shuffle, random_state) 参数:n_split:要划分的折数 shuffle: 每次都进行shuffle,测试集中折数的总和就是 ...