进程
进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程。进程是系统进行资源分配和调度的一个独立单位。进程是由代码(堆栈段)、数据(数据段)、内核状态和一组寄存器组成。
在多任务操作系统中,通过运行多个进程来并发地执行多个任务。由于每个线程都是一个能独立执行自身指令的不同控制流,因此一个包含多个线程的进程也能够实现进程内多任务的并发执行。
进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直接访问这些数据。
进程的状态:
创建、准备、运行、阻塞、结束。
进程间的通信方式可以有:
文件
管道
socket
信号
信号量
共享内存
要让Python程序实现多进程(multiprocessing),必须先了解操作系统的相关知识。
在Unix/Linux操作系统提供了一个fork()函数,它非常特殊,调用一次,返回两次,因为操作系统将当前的进程(父进程)复制了一份(子进程),然后分别在父进程和子进程内返回。
Python中的进程
os.fork()
subprocess
processing
multiprocessing
fork()函数
函数原型:
Help on built-in function fork in module posix:
fork(...)
fork() -> pid
Fork a child process.
Return 0 to child process and