易截截图软件、单文件、免安装、纯绿色、仅160KB

[转]Linux: wait和僵尸进程

之前我们已经讲到用fork()来创建一个新进程,用exit()来终止一个进程。现在我们将略微深入了解exit()执行之后发生的事情。­
    事实上,exit()终止进程并没有将其彻底终结,而是将一个正常的进程变成了一个僵尸进程。该僵尸进程几乎不占用资源,没有可执行的代码,也不能被调度,仅仅只能在进程列表中保留一个位子。所以僵尸进程听似恐怖,实际上只能被后人凭吊而已
,但是却有它存在的实际价值。­
    它的价值就在于它记载了已退出子进程的状态。这些状态包括进程是否是正常退出?所占有的cpu时间?进程ID?等等。说白了,僵尸进程之所以存在,就是为供其他进程收集已退出进程的信息用的。­
    但是,linux的进程数是有上限的,进程列表中太多的“僵尸”为阻扰“新生命的”诞生。所以我们需要在收集它的信息后,将其彻底消灭。这时,我们就要用到wait()函数。­
    pid_t wait(int *status)  
pid_s是wait的返回值数据类型,status是一个指针,指向一个整形数据,status就是用来收集已退出进程的状态的,即僵尸进程的信息。其
执行过程是这样的:进程一旦执行wait,就立即阻塞自己,直到查找到已经变成僵尸的子进程,收集它的信息并将其彻底摧毁后返回,不然就一直阻塞,直到僵
尸子进程出现。­
  
假如我们不关心僵尸进程的信息,只想把它消灭,那么只要这样wait(NULL),只会返回子进程的ID号。正常情况下,wait收集已退出进程的状态,
并存入status中,它所指向的整数指出了是否是正常退出、以及正常结束时的返回值。对于这两方面的信息,我们用宏来表征:   ­
        WIFEXITED(status)用来指示子进程是否是正常退出,若是,则返回一个非零值。这里的status是wait(*status)中指针的对象。­
        WEXITSTATUS(status)用来当子进程正常退出时,提取子进程的返回值即对应exit(*)中的值。­
    由此可知,以上两个宏可以用来提取僵尸进程所记载的一部分状态信息。­
    除了wait()函数来提取僵尸进程的信息并将其消灭之外,还有一个函数同样可以胜任这个工作。pid_t wait(pid_t
pid int *status
options),pid用来指定对应进程的ID,当它是-1时,则可以


相关文档:

[转]Linux: 结束查看进程命令

在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。
-------------------------------------------------------------------
先看两个例子:
例子一:结束某个程序,如Firefox    
键入命令:
pkill firefox
例子二: 结束某个进程,如find&n ......

linux下tomcat安装配置

我把我整合apache+tomcat+mod_webapp.so的过程发上来。其中包括了许多前人的心得与经验  
   
 
1.所需的软件包  
   
    j2sdk-1_4_1_02-linux-i586.bin(jdk1.4.1)  

    Apache2.0.40   (Red   Hat   Linux8.0自带)   ......

一篇不错的介绍linux下usb驱动的文章

转载自 http://www.builder.com.cn/2007/1015/556732.shtml
Linux环境下USB的原理、驱动和配置
开发者在线 Builder.com.cn
更新时间:2007-10-15
作者:北京中科红旗软件技术有限公司 嵌入式工程师 梁国军
来源:CSDN
本文关键词: Linux
USB

作者为北京中科红旗软件技术有限公司 嵌入式工程师 ......

Linux from Scratch

1. Download all packet and patchs    Done
2. To be involved in the mail list
3. Check Host Requirements                    Done
还学习了 cut 显示某行的指定field ,head 显示前几行,readlin ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号