基于Linux下C/C++的网络编程之进程
来源:互联网 发布:win7网络登录密码 编辑:程序博客网 时间:2024/05/18 03:31
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。每个进程都有各自的地址空间。
创建进程用fork()
pid_t pid;
pid = fork();
pid ==0 创建子进程成功
pid > 0 创建父进程
fork()是共享代码,数据各自保存。
pid是进程的ip号
ppid是父进程的ip号
创建成功和失败创建需要子进程
i=0;
fork();
i=1;
fork();
创建的是四个进程。
子进程完成但是父进程尚未结束,父进程检测回收数据。——子进程,僵进程。
反之,称为是孤儿进程。称为初始化回收。
父进程用
int status;
wait(&status);
是为了等待子进程
父进程中wait的调用是为了阻塞自己。
进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。
参数status用来保存被收集进程退出时的一些状态,它是一个指向int类型的指针。但如果我们对这个子进程是如何死掉的毫不在意,只想把这个僵尸进程消灭掉,(事实上绝大多数情况下,我们都会这样想),我们就可以设定这个参数为NULL,就象下面这样:
pid = wait(NULL);
进程的C++实现:
首先简历一个test.cpp文件,
实现结果为
- 基于Linux下C/C++的网络编程之进程
- 基于Linux下C/C++的网络编程之进程(对话)
- 基于Linux下C/C++的网络编程之进程(管道和FIFO)
- Linux下的C编程实战之三进程控制
- Linux下的c语言网络编程-将普通进程转换为守护进程
- Linux下的C编程入门之进程控制与进程通信编程
- linux下c的网络编程---转载
- linux 下c的网络编程
- Linux C 编程之进程
- Linux下C语言编程之网络编程
- 网络编程项目:linux下基于C/S架构的聊天室
- 尝试linux下c编程之进程与信号
- 基于Linux C的聊天室客户端(四)网络编程
- 基于UDP的服务器端/客户端---------网络编程(Linux----C)
- linux下的c语言/网络/网络编程面试题
- linux下的c语言-网络-网络编程面试题
- linux下的c语言-网络-网络编程面试题
- C编程之基于UDP的网络通信
- 数字电视前端的时间同步
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- python面向对象基础
- codevs 2033 邮票(背包)
- Linux shell 入门
- 基于Linux下C/C++的网络编程之进程
- Mac用的VPN
- LED跑马灯-位操作
- 面向对象的理解
- AUC与ROC
- Java中String、StringBuffer及StringBuilder的区别
- 不懂Ruby的程序员,如何快速读懂Ruby代码
- 损失函数(Loss Function) -1
- Yii2.0防御csrf攻击方法