码迷,mamicode.com
首页 >  
搜索关键字:子进程    ( 2520个结果
关于fork()函数特性的一些探究
fork()函数用于产生一个子进程,和当前的进程并行执行。通过判断fork函数的返回值可以区分是父进程还是子进程,如果返回为0,则为子进程。 对于fork函数的执行方式,自己还是存在一些不明,写了一个简单的测试程序测试fork函数的一些性质。...
分类:其他好文   时间:2015-02-23 17:55:31    阅读次数:140
父子进程间通信模型实现(popen)
0、FILE *popen(const char *command, const char *type);popen 函数相当于做了以下几件事:1、创建一个无名管道文件2、 fork()3、在子进程里, exec command4、 在子进程里,若 type == “r” , 相当于进行:int f...
分类:系统相关   时间:2015-02-21 22:16:04    阅读次数:312
Linux IPC实践(12) --System V信号量(2)
实践1:信号量实现进程互斥父子进程执行流程如下:父进程子进程PPO(print)X(print)sleepsleepO(print)X(print)VVsleepsleep从图中可以看出, O或X总是成对出现的, 要么两个O, 要么两个X;/**P,V原语实现父子进程互斥使用终端**/ // 程序代码 int main(int argc,char *argv[]) { int semid...
分类:系统相关   时间:2015-02-19 16:20:24    阅读次数:262
Linux IPC实践(2) --匿名PIPE
管道概念   管道是Unix中最古老的进程间通信的形式,我们把从一个进程连接到另一个进程的一个数据流称为一个“管道”, 管道的本质是固定大小的内核缓冲区;   如:ps aux | grep httpd | awk '{print $2}' 管道限制   1)管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;   2)匿名管道只能用于具有共同祖先的进程(如父进程与fork...
分类:系统相关   时间:2015-02-18 17:41:21    阅读次数:365
Linux进程实践(2) --僵尸进程与文件共享
孤儿进程与僵尸进程孤儿进程:   如果父进程先退出,子进程还没退出那么子进程的父进程将变为init进程。(注:任何一个进程都必须有父进程)//生成孤儿进程 int main(int argc, char *argv[]) { pid_t pid = fork(); if (pid < 0) err_exit("fork error"); else if (p...
分类:系统相关   时间:2015-02-18 11:55:40    阅读次数:260
Linux进程实践(4) --wait避免僵尸进程
Wait的背景   当子进程退出的时候,内核会向父进程发送SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止)   子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进程的退出状态。   父进程查询子进程的退出状态可以用wait/waitpid函数#include #include pid_t wait...
分类:系统相关   时间:2015-02-18 11:53:47    阅读次数:193
Linux进程实践(5) --守护进程
概述   守护进程是在需要在后台长期运行不受终端控制的进程,通常情况下守护进程在系统启动时自动运行,在服务器关闭的时候自动关闭;守护进程的名称通常以d结尾,比如sshd、xinetd、crond、atd等。守护进程编程规则    调用umask将文件模式创建屏蔽字设置为一个已知值(通常是0)   调用fork(),创建新进程,它会是将来的守护进程   然后使父进程exit,保证子进程不是进程组组长...
分类:系统相关   时间:2015-02-18 11:53:36    阅读次数:237
Linux进程实践(1) --Linux进程编程概述
进程 VS. 程序什么是程序?   程序是完成特定任务的一系列指令集合。什么是进程?  [1]从用户的角度来看:进程是程序的一次执行过程  [2]从操作系统的核心来看:进程是操作系统分配的内存、CPU时间片等资源的基本单位。   [3]进程是资源分配的最小单位  [4]每一个进程都有自己独立的地址空间与执行状态。  [5]像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构...
分类:系统相关   时间:2015-02-18 10:42:08    阅读次数:305
从【MySQL server has gone away】说起
本文目的这几天开发了一个PHP CLI程序,用于后台定时调度执行一些任务。此脚本采用了PHP的多进程(pcntl_fork),共享内存和信号量进行IPC和同步。目的是将串行的任 务并行执行,缩短执行时间。可是在工作子进程中,访问myql时一直报错,通过mysql_error返回的信息却是冷冷的一句话...
分类:数据库   时间:2015-02-16 18:08:27    阅读次数:161
【原创】java中的父进程子进程 —— 坑爹的java Runtime.getRuntime().exec
最近有一个需求,需要用一个java进程启动多个子进程来完成并发任务。由于必须给用户完成任务的反馈,所以需要父进程记录子进程的生命周期。exec方法返回一个Process对象,在当前进程内调用该对象的waitFor方法,然后父进程就会在该方法阻塞,那么只有在该Process结束的情况下,才会从wait...
分类:编程语言   时间:2015-02-13 01:33:00    阅读次数:390
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!