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

Linux中wait用法


Linux中wait用法:
系统中的僵尸进程都要由wait系统调用来回收。
函数原型:
#include<sys/types.h>
#include<sys/wait.h>
pid_t wait(int *status);
进程一旦调用了wait就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。
参数status用来保存被收集进程退出时的一些状态,它是一个指向int类型的指针。但如果我们对这个子进程是如何死掉毫不在意,只想把这个僵尸进程消灭掉,(事实上绝大多数情况下,我们都会这样想),我们就可以设定这个参数为NULL,就像下面这样:
pid = wait(NULL);
如果成功,wait会返回被收集的子进程的进程ID,如果调用进程没有子进程,调用就会失败,此时wait返回-1,同时errno被置为ECHILD。
例子:
/*wait.c*/
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
      
int main()
{
       pid_t pc, pr;
      
       pc = fork();
       if ( pc < 0 ) /* 如果出错 */
  {
         printf("create child prcocess error: %s\n", strerror(errno));
         exit(1);
  }
       else if ( pc == 0) /* 如果是子进程 */
       {
         printf("I am child process with pid %d \n", getpid());
         sleep(3);/* 睡眠3秒钟 */
         exit(0);
  }
       else /* 如果是父进程 */
      &nbs


相关文档:

Linux下Webmin配置

一、用户管理基础
在Linux环境下对用户的管理有多种方式,包括用编辑工具Vi、emacs等对/etc/passwd进行操作或直接使用
addusr、deleusr等用户管理命令以及使用pwconv命令使/etc/passwd与shadow文件保持一致。我们先来看看Linux下用
户管理的常用操作都做了些什么吧。
1、增加用户
增加用户有三个过程:
(1) 在/etc ......

Linux下BIND9.6配置

#wget http://ftp.isc.org/isc/bind9/9.6.1-P1/bind-9.6.1-P1.tar.gz
#tar zxvf bind-9.6.1-P1.tar.gz
#cd bind-9.6.1-P1
#./configure --prefix=/usr/local/named --enable-threads --disable-openssl-version-check --disable-ipv6
#make && make install
#cd /usr/local/named
#sbin/rndc-confgen > e ......

linux ulimit用法简介

工作中用到gdb来分析程序崩溃生产的core文件问题:
这里从网上查来的一个命令用法:
1,说明:
      ulimit用于shell启动进程所占用的资源.
      2,类别:
      shell内建命令
      3,语法格式:
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号