一、进程间通信(IPC) 简单的进程间通信: 命令行:父进程通过exec函数创建子进程时可以附加一些数据。 环境变量:父进程通过exec函数创建子进程顺便传递一张环境变量表。 信号:父子进程之间可以根据进程号相互发送信号,进程简单通信。 文件:一个进程向文件中写入数据,另一个进程从文件中读取出来。 ...
分类:
系统相关 时间:
2018-08-02 22:51:50
阅读次数:
209
僵尸进程的产生: 当一个进程创建了一个子进程时,他们的运行是异步的。父进程不知道子进程什么时候结束,如果父进程很繁忙来不及wait 子进程时,那么当子进程结束时,就会变成僵尸进程。在一个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存。但是仍然保留了一些信息(如进程号pid 退出 ...
分类:
系统相关 时间:
2018-07-30 21:26:15
阅读次数:
177
多任务: frok():只能在linux下执行 如果主进程退出,整个进程就直接退出了,不会因为子进程没执行完而等待子进程结束后才结束整个进程 子进程中修改的全局变量不会影响到父进程的全局变量,多进程中,数据不共享,如果想共享进程中的数据,需要进程间通信 多次fork()的结果: 父进程,子进程执行顺 ...
分类:
编程语言 时间:
2018-07-30 13:22:18
阅读次数:
129
Python编写守护进程程序思路 1. fork子进程,父进程退出通常,我们执行服务端程序的时候都会通过终端连接到服务器,成功连接后会加载shell环境,终端和shell都是进程,shell进程是终端进程的子进程,通过ps命令可以很容易的查看到。在这个shell环境下一开始执行的程序都是shell进 ...
分类:
编程语言 时间:
2018-07-28 16:46:27
阅读次数:
198
python的多线程不适合CPU密集型的任务,适合IO【文件读写,网络数据】密集型的任务 1.多进程 获取进程ID: os.getppid() --父进程 os.getpid() 当前进程的id 进程间通信 利用中间件Queue,可以实现线程间通信: q = queue.Queue() q.put( ...
分类:
编程语言 时间:
2018-07-27 14:37:21
阅读次数:
145
进程终止的时候一般不会立即被从系统中移除,会留一部分在内存中,让父进程知道自己终止了,父进程知道自己终止状态,这个过程叫做等候,如果没有父进程来等候,那么这个进程就成为僵尸进程。 ...
分类:
系统相关 时间:
2018-07-26 21:07:17
阅读次数:
144
进程与进程之间的数据是隔离的 内存空间是不能共享的 所以要想进行通信,必须借助其他手段 且这两个进程都是自愿的 子进程的执行结果父进程获取不到 父进程如何获取子进程的执行结果??? 父子进程之间通过socket通信 from multiprocessing import Process n = 10 ...
分类:
系统相关 时间:
2018-07-25 17:05:13
阅读次数:
225
multiProcessing 包中 Process模块: join() 堵塞问题, 可以理解为: 相当于 每个子进程结束时都会给 父进程发一条消息, join() 则是接收,内部有socket的实现 1, 进程之间的数据隔离问题 进程和进程之间的数据是隔离的, 内存空间不能共享,所以要想进行通信, ...
分类:
系统相关 时间:
2018-07-25 16:20:24
阅读次数:
230
一只菜鸟横空出世,码农世界闯一闯,每天进展多一丢丢。 三种进程学习.孤儿进程.僵尸进程.守护进程 转自https://blog.csdn.net/believe_s/article/details/77040494 1、孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这 ...
分类:
系统相关 时间:
2018-07-24 20:55:39
阅读次数:
194
forkfork()调用一次返回两次:父进程返回子进程pid,子进程返回0。进程是树形结构,子进程可随时通过getppid()获取父进程;而父进程只能在创建时获取子进程号。子进程使用父进程堆栈及数据空间副本等存储空间。代码正文段及文件共享,例如文件偏移量。存储空间多采用写时复制的方式Copy-On-Write。一开始共享存储空间,直到子进程试图修改某个区域时,进行复制。复制单位一般为页大小。常见用
分类:
系统相关 时间:
2018-07-24 00:10:32
阅读次数:
247