Popen的方法:Popen.poll()用于检查子进程是否已经结束。设置并返回returncode属性。Popen.wait()等待子进程结束。设置并返回returncode属性。Popen.communicate(input=None)与子进程进行交互。向stdin发送数据,或从stdout和s...
                            
                            
                                分类:
其他好文   时间:
2014-12-23 21:02:07   
                                阅读次数:
198
                             
                    
                        
                            
                            
                                fork函数:
#include 
       pid_t fork(void);
fork用来创建一个子进程;
特点:fork调用后会返回两次,子进程返回0,父进程返回子进程的进程ID;fork返回后,子进程和父进程都从fork函数的下一条语句开始执行;...
                            
                            
                                分类:
系统相关   时间:
2014-12-23 10:31:34   
                                阅读次数:
262
                             
                    
                        
                            
                            
                                不同的shell对使用管道线时创建子进程的顺序不同,本文以bash为例,它是支持作业控制的shell的典型代表。僵尸进程与孤儿进程僵尸进程:先于父进程终止,但是父进程没有对其进行善后处理(获取终止子进程有关信息,释放它仍占有的资源)。消灭僵尸进程的唯一方法是终止其父进程。孤儿进程:该进程的父进程先于...
                            
                            
                                分类:
系统相关   时间:
2014-12-22 19:33:48   
                                阅读次数:
215
                             
                    
                        
                            
                            
                                1 编写守护进程基本规则1)umake(0)将文件模式创建屏蔽字设置为02)fork之后,父进程exit3)子进程调用setsid4)更改工作目录chdir("/")5)关闭所有打开的文件描述符6)在/dev/null上打开文件描述符1,2,32 守护进程出错处理产生日志消息的三种方式:1)内核进程...
                            
                            
                                分类:
系统相关   时间:
2014-12-22 12:35:58   
                                阅读次数:
200
                             
                    
                        
                            
                            
                                vfork and fork
两个函数都是用于创建子进程。
区别: 1. vfork 在子进程调用exec之前,它在父进程的空间中进行。
       2. vfork 保证子进程先运行,在调用exec之后父进程才开始运行。
#include 
#include 
int main(int argc, char *argv[])
{
    int pid,varble =...
                            
                            
                                分类:
其他好文   时间:
2014-12-17 16:32:19   
                                阅读次数:
134
                             
                    
                        
                            
                            
                                先抄录网上一段对僵死进程的描述:
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termi...
                            
                            
                                分类:
系统相关   时间:
2014-12-17 14:36:59   
                                阅读次数:
355
                             
                    
                        
                            
                            
                                1.什么是僵尸进程
        如果父进程在子进程之前终止,则所有的子进程的父进程都会改变为init进程,我们称这些进程由init进程领养。这时使用ps命令查看后可以看到子进程的父进程ppid已经变为了1。
        而当子进程在父进程之前终止时,内核为每个终止子进程保存了一定量的信息,所以当终止进程的父进程调用wait或waitpid时,可以得到这些信息。这些信息至少包括进...
                            
                            
                                分类:
系统相关   时间:
2014-12-16 17:04:39   
                                阅读次数:
233
                             
                    
                        
                            
                            
                                1、 写脚本打印当前目录(子目录)下文件内容中包含abc字符串文件2、 用C写一个管道通信的程序:父进程向子进程写一个”hello word”字符串,子进程输出。3、 解释I-node。4、 写一个Socket 服务器程序5、 动态链接库&静态链接库6、 LD_LIBRARY_PATH的作用7、 L...
                            
                            
                                分类:
Web程序   时间:
2014-12-10 18:00:12   
                                阅读次数:
184
                             
                    
                        
                            
                            
                                博客原地址:http://blog.csdn.net/wang_shaner/article/details/41543787实现原理fork分叉函数fork分叉(分裂)函数可以创建一个新进程, 并且新创建出来的进程(子进程)拥有创建它的那个进程(父进程)的数据空间, 堆栈资源等的拷贝. 并且相互不...
                            
                            
                                分类:
移动开发   时间:
2014-12-07 23:04:44   
                                阅读次数:
264
                             
                    
                        
                            
                            
                                node-webkit客户端中应用本地数据库如果大量写入很多数据会导致主线程负责页面渲染和监听事件变慢。正如node介绍的那样,像这种CPU运算密集型操作,最好放到子进程中来处理。注意的是主进程和子进程的通讯与回调方...
                            
                            
                                分类:
Web程序   时间:
2014-12-06 19:36:39   
                                阅读次数:
225