2017 2018 1 20155214 《信息安全系统设计基础》 实验三 并发程序 实验要求 任务一 学习使用Linux命令wc(1) 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端 客户端传一个文本文件给服务器 服务器返加文本文件中的单词数 任务二 使 ...
分类:
其他好文 时间:
2017-11-19 23:34:39
阅读次数:
392
l 父进程通过wait和waitpid等函数等待子进程结束,这会导致父进程挂起 l 如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler,因为子进程结束后,父进程会收到该信号,可以在handler中调用wait回收 l 如果父进程不关心子进程什么时候结束,那么可以用signa ...
分类:
系统相关 时间:
2017-11-14 16:32:15
阅读次数:
269
原本项目中依赖子进程执行的地方,都使用jni调用java层的ProcessManager,换了c++ACE框架后,发现这些任务都很慢,调试才发现所有子进程执行的任务都必须等待到reactor超时才返回控制权。一时慌了居然怀疑是不是app进程没有收到SIGCHLD信号,所以调试跟踪了一下内核,信号正常 ...
分类:
其他好文 时间:
2017-11-03 21:52:29
阅读次数:
178
教材学习内容总结 当Unix系统级函数遇到错误时,它们典型地会返回―1,并设置全局整数变量errno来表示什么出错了。程序员应该总是检查错误,但是不幸的是,许多人都忽略了错误检查,因为它使代码变得臃肿,而且难以读懂。 回收子进程的两种方法:1,内核的init进程 2,父进程waitpid函数 像Un ...
分类:
其他好文 时间:
2017-10-30 01:23:48
阅读次数:
147
2017-2018-1 20155208 《信息安全系统设计基础》第六周学习总结 学习目标 了解异常及其种类 理解进程和并发的概念 掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,un ...
分类:
其他好文 时间:
2017-10-29 13:46:51
阅读次数:
185
一、 僵尸进程 僵尸进程: 一个父进程利用fork创建子进程,如果子进程退出,而父进程没有利用wait 或者 waitpid 来获取子进程的状态信息,那么子进程的状态描述符依然保存在系统中。 二、孤儿进程 孤儿进程:一个父进程退出, 而它的一个或几个子进程仍然还在运行,那么这些子进程就会变成孤儿进程 ...
分类:
系统相关 时间:
2017-10-05 22:00:34
阅读次数:
220
fork()以后,父进程和子进程是并发执行的,父进程永远无法预测子进程什么时候结束。当子进程完成它的工作退出后,其父进程需要调用wait()或者waitpid()获取子进程的退出状态。 孤儿进程: 1) 父进程退出后,若它的子进程还在运行,那么这些子进程将成为孤儿进程。 2) 孤儿进程将被init进 ...
分类:
系统相关 时间:
2017-09-09 14:34:38
阅读次数:
192
php中进程的阻塞,主要是父进程等待子进程退出。 1.php代码如下: 上面代码结果如下: 如果我们把pcntl_wait拿到for循环外,会是个什么结果? 2.php代码如下: 上面代码结果如下: pcntl_wait的第二个参数可以用来设置主进程不等待子进程退出,继续执行后续代码。 3.php代 ...
分类:
Web程序 时间:
2017-08-10 10:05:08
阅读次数:
187
TCP是一个流协议 处理粘包问题 1、特殊字符 ‘\r\n'用来作边界,表示一个消息 2、发定长包,消息很短也发固定长度(极度浪费网络资源) 3、加包头记录数据长度用以区分消息 4、其他一些特殊应用协议 while((pid = waitpid(-1, NULL, WNOHANG))处理多进程中的僵 ...
分类:
其他好文 时间:
2017-08-06 21:57:30
阅读次数:
201
本文为senlie原创。转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.传统并发server调用 fork 派生一个子进程来处理每一个客户 2.传统并发server的问题在于为每一个客户现场 fork 一个子进程比較耗费 CPU 时间。 /* include ...
分类:
系统相关 时间:
2017-07-28 11:03:03
阅读次数:
131