进程对象及其他方法
- 介绍
- 一台计算机上运行很多进程, 那么计算机是如何区分并管理这些进程服务端的呢
- 计算机会给每一个运行的进程分配一个PID号
- 如何查看
- windows电脑
- 进入cmd输入tasklist即可查看
- tasklist | findstr PID 查看你具体的进程
- mac
- 进入终端之后输入ps aux
- ps aux | grep PID 查看具体的进程
- windows电脑
from multiprocessing import Process, current_process
import time
import os
def task():
print('%s is running ' % current_process().pid) # 查看当前进程的进程号
time.sleep(30)
if __name__ == '__main__':
p = Process(target=task)
p.start()
# print('主', current_process().pid)
print('主', os.getpid()) # 查看当前进程的进程号
print('主主', os.getppid()) # 查看当前进程的父进程的进程号
# 杀死进程
from multiprocessing import Process, current_process
import time
import os
def task():
print('%s is running ' % current_process().pid) # 查看当前进程的进程号
time.sleep(30)
if __name__ == '__main__':
p = Process(target=task)
p.start()
p.terminate() # 杀死当前进程
# 是告诉操作系统去帮你去杀死当前的进程, 但是需要一定的时间, 而代码的运行速度极快
# print('主', current_process().pid)
print('主', os.getpid()) # 查看当前进程的进程号
print('主主', os.getppid()) # 查看当前进程的父进程的进程号
time.sleep(0.1)
print(p.is_alive()) # 判断当前进程是否存活
- 补充,
- 一般我们会默认将存储布尔值的变量名, 和返回的结果是布尔值的方法名, 都起成以is_开头的
相关连接(笔记来自于视频课程的归类整理):
[1]: https://www.bilibili.com/video/BV1QE41147hU?p=17
[2]: https://www.cnblogs.com/Dominic-Ji/p/11093137.html