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. WebApi中的Session与Token间的处理对接

    首先,说起来创建session,一般会针对注册登录或者授权等情况: session 从字面上讲,就是会话.这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长 ...

  2. 理解syslinux,SYSLINUX和PXELINUX

    在研究网络装机的过程中,菜菜地被Syslinux.SYSLINUX和PXELINUX这些定义折磨了一下 它们有什么区别和联系?为什么配置PXELINUX要安装的是Syslinux而不是Pxelinux ...

  3. ResDepot CRC码

    参考: 百度百科 crc校验 百度百科 crc编码 生日悖论 CRC32能不能用于检验文件的相同性 Egret RES版本控制 一.Egret的ResDepot在发布时,可以添加crc码. 发布前 发 ...

  4. MassTransit入门

    .NET平台ESB框架的中文资料少的可怜,NServiceBus的有几篇,MassTransit的根本找不到,只好硬着头皮看官方的英文文档,顺便翻译出来加深理解. 欢迎拍砖. MassTransit是 ...

  5. API(三)之Class-based Views

    使用基于类的视图重写API 我们首先将根视图重写为基于类的视图.所有这一切都涉及到重构views.py. from snippets.models import Snippet from snippe ...

  6. CentOs7下搭建LAMP环境

    ● 环境搭建 参考: http://blog.csdn.net/zph1234/article/details/51248124 http://www.jb51.net/os/188488.html ...

  7. vue中的iviewUI导出1W条列表数据每次只导出2000条的逻辑

    导出弹窗的html <template> <Modal v-model="exportModal" width=400 :closable="false ...

  8. DataProtection设置问题引起不同ASP.NET Core站点无法共享用户验证Cookie

    这是这两天ASP.NET Core迁移中遇到的一个问题.2个ASP.NET Core站点(对应于2个不同的ASP.NET Core Web应用程序),2个站点都可以登录,但在其中任1个站点登录后,在当 ...

  9. MySQL的sql_mode模式说明及设置

    MySQL的sql_mode模式说明及设置 MySQL的sql_mode合理设置 sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入 ...

  10. [No000013A]Windows WMIC命令使用详解(附实例)

    第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符.在WMIC命令行提示符上,命令以交互的方式执行 执行“wmic”命令启动WMIC命令行环境.这个命令可以在 ...