【Linux】fork函数的基础知识

这篇具有很好参考价值的文章主要介绍了【Linux】fork函数的基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

  • 前言
  • 一、fork的返回值
  • 二、常见问题
    • 1.为什么fork要给子进程返回0,给父进程返回子进程pid?
    • 2.一个函数返回两次值怎么理解?
    • 3.一个变量怎么会有不同的内容?

    • 4.fork函数干了什么?


前言

fork初识:

1.fork有两个返回值。

2.父子进程代码共享,数据各开辟空间,私有一份(写实拷贝)。 


【Linux】fork函数的基础知识,linux,运维,服务器

【Linux】fork函数的基础知识,linux,运维,服务器 我们在运行test的时候,发现多了一个进程,这个进程就是由fork分支出来的子进程,进程之间是相互独立的。

一、fork的返回值

fork()函数会创建一个新的进程,该函数的返回值是一个整数。在父进程中,fork()的返回值是子进程的PID(进程ID),而在子进程中,fork()的返回值是0。

因此,fork()函数的返回值可以用于判断当前代码运行在父进程还是子进程中。如果fork()返回一个非零值,那么代码运行在子进程中;如果fork()返回0,那么代码运行在父进程中。

二、常见问题

1.为什么fork要给子进程返回0,给父进程返回子进程pid?

返回不同的返回值,是为了区分让不同的执行流执行不同的代码块。父进程接收子进程pid是因为父进程可能有多个子进程,为了区分所以用他们特有的pid来作为返回值,而子进程直接用getppid()这个函数就能获得父进程的pid所以子进程返回的是0.

2.一个函数返回两次值怎么理解?

【Linux】fork函数的基础知识,linux,运维,服务器

【Linux】fork函数的基础知识,linux,运维,服务器

3.一个变量怎么会有不同的内容?

【Linux】fork函数的基础知识,linux,运维,服务器

【Linux】fork函数的基础知识,linux,运维,服务器

4.fork函数干了什么?

创建了子进程,对子进程创建了PCB,用父进程对应的字段来初始化子进程,并且实现了代码的共享。文章来源地址https://www.toymoban.com/news/detail-690086.html


到了这里,关于【Linux】fork函数的基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux基础知识笔记

    记录linux基础知识,持续更新中… /dev/null 是一个特殊的设备文件,可以将数据重定向到这个文件中,从而实现将输出或错误信息丢弃的效果。在 Linux 系统中, /dev/null 被称为“黑洞”,因为所有写入它的数据都会被立即丢弃,无法恢复。 在 Shell 脚本中,可以使用 符号将输出

    2024年02月07日
    浏览(34)
  • Linux底层基础知识

    汇编,C语言,C++可以通过不同的编译器,编译成机器码。而java只能由Java虚拟机识别。Java虚拟机可以看成一个操作系统,Java虚拟机是由汇编,C,Linux等编写而成的一个操作系统(面向os) 不同的芯片,底层的CISC指令集不同,所以其机器码有区别,因此汇编不能跨平台。特定

    2024年02月07日
    浏览(28)
  • Linux基础知识4

    Linux基础知识 适合有Linux基础的人群进行复习。 禁止转载! shell第一行内容格式?         #!/bin/sh,#!/bin/bash,#!/bin/csh,#!/bin/tcsh,#!/bin/ksh等 执行shell脚本的三种方式       (1)为shell脚本直接加上可执行权限再执行,如:                 chmod 755 ljh.sh       /

    2024年02月08日
    浏览(39)
  • Linux基础知识3

    Linux基础知识 适合有Linux基础的人群进行复习。 禁止转载! Linux系统下的3类用户和功能; 答:         root用户(或称根用户、超级用户):Linux的内置用户,权限最高,具有读、写、执行系统所有文件的权限,可以更改系统配置、管理用户、安装软件等操作。        

    2024年02月08日
    浏览(29)
  • Linux Shell基础知识

    预计更新 1: 基础知识 简介和安装 基本命令 变量和环境变量 2: 流程控制 条件语句 循环语句 函数 3: 文件处理 文件读写 文件权限和所有权 文件搜索和替换 4: 网络和进程 网络通信 进程管理 信号处理 5: 文本处理 正则表达式 文本分析和处理 生成报告和日志 6: 用户界面 命令行

    2024年02月11日
    浏览(32)
  • 【Linux】进程控制基础知识

    目录 一,fack回顾  二,进程终止 1.进程终止,操作系统做了什么? 2.进程终止,常见的方式 1.main函数的,return + 返回码 2. exit()函数 三,进程等待  1. 回收进程方法 (1. wait方法 补充理解:僵尸进程与内存泄露区别 (2.waitpid函数 a,参数pid  b, 参数status c, 参数options 四,进程

    2024年02月08日
    浏览(32)
  • linux基础知识学习记录

    计算机组成:计算机主要硬件和软件2部分组成。 计算机软硬件的概念:硬件是可以看得见的物理实体,软件是运行在硬件上不可见的程序。 计算机软硬件的关系:没有硬件,程序就不会存在;没有软件,硬件就是破铜烂铁。 计算机硬件的组成:CPU(中央处理器)、内存、硬盘

    2024年02月07日
    浏览(33)
  • Linux基础知识及常见指令

    什么是Linux? Linux是一个免费开源的操作系统内核,最初由Linus Torvalds于1991年创建。它是各种Linux发行版(通常称为“发行版”)的核心组件,这些发行版是完整的操作系统,包括Linux内核以及各种软件包,如系统实用工具、库和桌面环境等。 什么是Linux终端? Linux 的终端就是

    2024年02月09日
    浏览(29)
  • linux基础知识-sar详解

    sar(System Activity Reporter系统活动情况报告)是目前Linux比较全的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状态、进程活动有IPC有关的活动等。 sar 还可以配置配置信息收集历史指标。

    2024年02月10日
    浏览(42)
  • Linux常见指令和基础知识

    从这一章开始我们就要正式的进入我们的Linux的学习了,在正式学习之前我们要先熟悉一下Linux的操作和一些基础知识吧。 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: 操作演示

    2024年02月07日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包