易截截图软件、单文件、免安装、纯绿色、仅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下共享文件系统文件传输的简单设计(转载)

共享文件系统文件传输,是网络侦控项目中的一个实际操作。它是为了抵制入侵者进入内网而提出的一种安全解决方案。在实际传输过程中,拓扑图如下:
实际环境均在Linux主机下进行。采用OCFS2文件集群的方式。外部主机A和内部主机B之间的通讯,均通过共享存储空间C进行接受和发送。这样即使入侵者拿下外部主机A,也无法渗透内 ......

linux线程(转)

 程相关函数:
     pthread_attr_init()
     pthread_attr_setschedpolicy()
     pthread_attr_setschedparam()
     pthread_attr_destroy()
具体应用demo:
pthread_attr_init(&attr);
pthread_attr_setschedpolicy ......

Linux 多线程通信

Linux 多线程通信
Linux 多线程通信
摘自资料(linux 与Windows不同)
    线程间无需特别的手段进行通信,因为线程间可以共享数据结构,也就是一个全局变量可以被两个线程同时使用。不过要注意的是线程间需要做好同步,一般用mutex。可以参考一些比较新的UNIX/Linux编程的书,都会提到Posix线程编程,比如《U ......

linux进程通信学习笔记


Linux进程间通信的方法
1、管道(pipe)
2、有名管道(named pipe)
3、信号量
4、消息队列
5、信号
6、共享内存
7、套接字
-------------------------------------------------------------------------------
linux进程间通信
1. 管道。
  匿名一次性使用的,半双工。一个进程往输出端写管道,另一个进程从 ......

linux目录架构


/       根目录
/bin         常用的命令   binary   file   的目錄
/boot       存放系统启动时必须读取的档案,包括核心   (kernel)   在内
          /boot/grub/menu.lst       GR ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号