并发编程---开启进程方式---查看进程pid
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的更多相关文章
- 03并发编程(多道技术+进程理论+进程join方法)
目录 03 并发编程 03 并发编程
- Java并发编程(一):进程和线程之由来
转自:http://www.cnblogs.com/dolphin0520/p/3910667.html 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当 ...
- Windows netstat 查看端口、进程占用 查看进程路径
1.查看端口.进程占用 运行->进入cmd->netstat -ano 2.查看进程路径 运行->WMIC->process 3.查看进程PID和占用内存情况 运行->进 ...
- python并发编程之多进程(一):进程开启方式&多进程
一,进程的开启方式 利用模块开启进程 from multiprocessing import Process import time,random import os def piao(name): ...
- 并发编程7 管道&事件&信号量&进程池(同步和异步方法)
1,管道 2.事件 3.信号量 4.进程池的介绍&&进程池的map方法&&进程池和多进程的对比 5.进程池的同步方法和异步方法 6.重新解释同步方法和异步方法 7.回调 ...
- java并发编程(四)守护进程 线程阻塞的四种情况
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17099981 守护线程 Java中有两类线程:User Thread(用户线程).Da ...
- Linux杀死进程,查看进程
http://blog.csdn.net/wojiaopanpan/article/details/7286430/
- Python并发编程(守护进程,进程锁,进程队列)
进程的其他方法 P = Process(target=f,) P.Pid 查看进程号 查看进程的名字p.name P.is_alive() 返回一个true或者False P.terminate( ...
- python并发编程之进程1(守护进程,进程锁,进程队列)
进程的其他方法 P = Process(target=f,) P.Pid 查看进程号 查看进程的名字p.name P.is_alive() 返回一个true或者False P.terminate( ...
随机推荐
- 《objective-c基础教程》学习笔记(五)—— 继承方法
在上一篇博文中,我们将原先的纯C语言代码,编写成了用Objective-C(后面直接缩写成OC)的写法.使得代码在易读性上有明显提升,结构也更清晰.同时,也对面向对象的概念有了进一步的介绍和加深. 但 ...
- Hibernate常见面试题(转)
在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的.Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java ...
- 【代码审计】五指CMS_v4.1.0 后台存在SQL注入漏洞分析
0x00 环境准备 五指CMS官网:https://www.wuzhicms.com/ 网站源码版本:五指CMS v4.1.0 UTF-8 开源版 程序源码下载:https://www.wuzhi ...
- 1.浅谈CLR
1.什么是CLR CLR(Common Language Runtime)公共语言远行时,是一个可由多种编程语言使用的“远行时”.CLR的核心功能(比如内存管理.程序集加载.安全性.异常处理和线程同步 ...
- Twain
3.7.37 ICAP_SUPPORTEDSIZESType:TW_UINT16Supported Messages:MSG_GET - TW_ENUMERATIONMSG_GETCURRENT - ...
- javaweb学习之建立简单网站
看到很多网站,论坛等,很实用,想做一个,比如中国图书网,它们的共同特点是运行在浏览器中. 最简单可行的技术就是jsp实现,但是jsp虽然可以在服务器端显示,在客户端连接数据库,且客户端和服务器端要完成 ...
- ELK之使用kafka作为消息队列收集日志
参考:https://www.cnblogs.com/fengjian2016/p/5841556.html https://www.cnblogs.com/hei12138/p/7805475 ...
- ELK之elasticdump迁移es数据
参考:https://www.cnblogs.com/resn/p/9082663.html elasticsearch部分查询语句 获取集群节点列表 curl "172.16.30.55: ...
- Steeltoe之Circuit Breaker篇
在分布式系统中,服务发生异常是很正常的现象.为了处理这类"例外",可以采取不同的应对策略,断路器模式即是其中一种方法.这个模式的主要特点是其可以阻断失败的级联影响,不会因为一个服务 ...
- Bootstrap框架 inconfont font-awesome
Bootstrap框架和inconfont.font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.h ...