#include #include #includeint main(void) { signal(SIGCHLD, SIG_IGN); //一般来说在做并发服务器的时候,都要将这个加上!可以防止因为子进程退出时,父进程没时间处理,而产生僵尸进程! int i=...
分类:
系统相关 时间:
2014-11-06 12:44:32
阅读次数:
182
Linux 系统中僵尸进程Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动。僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。僵尸进程如何产生的?如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系...
分类:
系统相关 时间:
2014-11-05 12:42:23
阅读次数:
295
进程的定义:一个其中运行着一个或者多个线程的地址空间和这些线程所需要的系统资源。通俗的说就是正在运行的程序。可以使用ps -ajx查看进程,每个进程都会被分配一个唯一的数字编号,为进程标识符(PID)父进程的描述符称为(PPID),STAT表示系统进程的运行状态,其中,S表示睡眠,R表示可运行,.....
分类:
系统相关 时间:
2014-11-03 20:57:35
阅读次数:
339
1. bash的父进程,子进程[root@A~]# my_var=123[root@A~]# echo $my_var123[root@A~]# bash[root@A~]# [root@A~]# echo $my_var[root@A~]# exitexit[root@A~]# echo $my....
分类:
系统相关 时间:
2014-11-03 10:08:20
阅读次数:
194
1、操作系统中提供了一个fork()函数,它非常特殊。普通函数的调用,调用依次,返回一次。但是fork()函数调用一次,返回2次。因为操作系统自动把当前进程(父进程)复制了一份(子进程),然后分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID.这样做的理由是,一个父进程可以for...
分类:
其他好文 时间:
2014-10-31 23:38:00
阅读次数:
237
Linux进程模型 system用于调用shell,执行一条指定命令【在Linux下基本不用】 fork用于创建一个新的进程,该进程几乎是当前进程的一个完全拷贝 exec可以在进程中用另外的程序来替代当前运行的进程 进程标识符: 进程的属性PID(非零整数),父进程PPID PID标...
分类:
系统相关 时间:
2014-10-29 19:05:05
阅读次数:
241
【fork之后并不能确定究竟是哪个进程首先执行相关】
【fork后子进程会复制父进程的资源,缓冲区是父进程的资源,所以自然会复制一份】
【设备的不同缓冲属性】
【标准输出设备在正常情况下是linux中的行缓存的设备(除出错)】
【linux中写入文件流是全缓存的,也就是换行符并不会冲洗缓冲区】...
分类:
系统相关 时间:
2014-10-29 14:49:34
阅读次数:
302
自父进程继承:进程的资格(真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GIDs))环境(environment)堆栈内存打开文件的描述符(注意对应的文件的位置也是和文件一起由父子进程共享的)执行时关闭(close-on-exec) 标志 (译者注:c...
分类:
系统相关 时间:
2014-10-28 15:18:52
阅读次数:
357
在bash shell中,source、exec以及sh都可以用来执行shell script,但是它们的差别在哪里呢?sh:父进程会fork一个子进程,shell script在子进程中执行source:在原进程中执行,不会fork子进程exec:在原进程中执行,但是同时会终止原进程注:使用exp...
分类:
其他好文 时间:
2014-10-26 18:11:47
阅读次数:
207
跌跌撞撞,unix也看到了进程管理,顿时觉得高大上了。然而面对第一个系统调用fork,这英语发音实在是蹩脚,差点就读成~~。
在unix里面,对于任何一个进程,都有一个唯一表示的进程ID(pid)当然除了进程ID这个标识之外还有很多其他属性:父进程ID(ppid),进程实际用户ID,进程有效用户ID,进程实际用户组ID,进程有效用户组ID。对于这些属性,可以使用下列函数获取
#i...
分类:
系统相关 时间:
2014-10-26 11:51:42
阅读次数:
290