网络编程之 创建多个子进程,避免踩坑。

简介: 创建多个子进程那我们就接着上一篇的博客来讲吧。如果有朋友提前做过实验的话应该回踩到一点坑吧??比如说我只想要创建5个子进程然后让每个进程打印自己的ID号,但是结果却创建出来了多个进程。博主之前也遇到过这些坑,所以博主现在再这里给大家讲解一下,大家所遇到的情况是如何产生的。下面请朋友们先看一下博主的演示过程(错误示范)。

创建多个子进程

那我们就接着上一篇的博客来讲吧。


如果有朋友提前做过实验的话应该回踩到一点坑吧??比如说我只想要创建5个子进程然后让每个进程打印自己的ID号,但是结果却创建出来了多个进程。博主之前也遇到过这些坑,所以博主现在再这里给大家讲解一下,大家所遇到的情况是如何产生的。

下面请朋友们先看一下博主的演示过程(错误示范)。

20191023193303457.gif

下面是正确的方式:

20191023193337154.gif

20191023193404543.png

其实大家应该能发现错误和正确的代码中间只差了一个break。


那么博主尽力给大家把这个讲清楚。

大致应该是这样的 如果不加break的话父进程自创建子进程的时候,被创建出来的子进程就又会创建新的子进程。如此下来只会越来越多。

20191023194518720.gif

解决方法就是在子进程之后我们加上一个break这样被创建出来的子进程就不会再创建新的子进程了。


谢谢大家的观看


目录
相关文章
|
20天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
4月前
|
Linux
网络编程之信号(处理僵尸进程的终极办法)之初识信号捕捉器
接着我们之前的管道所提出来的问题() 在创建子进程之后,子进程究竟何时终止????调用waitpid函数后还要无休止的等待子进程终止吗???”,这显然会是一个问题。因为父进程往往与子进程一样繁忙,因此我们不能只调用waitpid函数来等待子进程终止。那么我们应该怎么办呢??? 信号闪亮登场!!!!!
30 0
|
5月前
|
存储 网络协议 Java
深入理解Linux网络——内核与用户进程协作之同步阻塞方案(BIO)
在上一部分中讲述了网络包是如何从网卡送到协议栈的(详见深入理解Linux网络——内核是如何接收到网络包的),接下来内核还有一项重要的工作,就是在协议栈接收处理完输入包后要通知到用户进程,如何用户进程接收到并处理这些数据。
|
4月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
51 0
|
4月前
|
消息中间件 Linux
网络编程之 进程间的通信之管道的使用
如何使用管道是进程间通信的关键 博主先声明一下,关于处理进程创建以及销毁的方法。 “子进程究竟何时终止????调用waitpid函数后还要无休止的等待子进程终止吗???”,这显然会是一个问题。因为父进程往往与子进程一样繁忙,因此我们不能只调用waitpid函数来等待子进程终止。那么我们应该怎么办呢???
23 0
 网络编程之 进程间的通信之管道的使用
|
4月前
|
Shell
网络编程之 进程
多进程服务器端
26 0
|
5月前
|
存储 网络协议 NoSQL
深入理解Linux网络——内核与用户进程协作之多路复用方案(epoll)
在上一部分的阻塞模式中(详见深入理解Linux内核网络——内核与用户进程协作之同步阻塞方案(BIO)),用户进程为了等待一个socket就得被阻塞掉,如果想要同时为多个用户提供服务要么就得创建对应数量的进程处理,要么就使用非阻塞的方式。进程不说创建,单论上下文切换就需要很大的耗时,而如果非阻塞的模式,就得轮询遍历,会导致CPU空转,并且每次轮询都需要进行一次系统调用,所以Linux提供了多路复用的机制来实现一个进程同时高效地处理多个连接。
|
5月前
|
Linux
百度搜索:蓝易云【Linux系统下获取系统、BIOS、进程、网络等相关信息的方法和工具。】
综上所述,通过使用命令行工具和图形化工具,可以在Linux系统下获取系统、BIOS、进程和网络等相关信息。根据具体的需求和使用场景,选择合适的工具和命令可以帮助你更好地了解和管理Linux系统。
65 2
|
5月前
|
网络协议 Linux 调度
百度搜索:蓝易云【Linux网络、进程详解。】
综上所述,Linux网络提供了强大的网络配置和通信功能,支持TCP/IP协议栈和各种网络服务。Linux进程管理涉及进程的创建、状态管理和资源管理,以实现任务执行和进程间通信。这些概念和机制是Linux操作系统的核心组成部分,为系统的正常运行和应用程序的开发提供了基础。
63 0
|
6月前
|
网络协议 网络架构 数据格式
网络协议的重要性与应用:理解进程间通信和网络分层结构(下)
这篇文章概括了数据链路层和物理层在网络通信中的作用和功能。数据链路层负责为网络层提供链路级别的传输服务,通过MAC地址标识设备,并在链路上进行数据传输。物理层将数据包转换为电信号,在物理媒介中传输。不同的物理媒介包括双绞铜线、同轴电缆和光纤,它们都被用于实现高效的数据传输和通信。