广告
返回顶部
首页 > 资讯 > 操作系统 >Linux中进程fork()的示例分析
  • 607
分享到

Linux中进程fork()的示例分析

2023-06-09 17:06:55 607人浏览 八月长安
摘要

这篇文章给大家分享的是有关linux中进程fork()的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux fork()详解:在开始之前,我们先来了解一些基本的概念: 程序, 没有在运行的可执行文件

这篇文章给大家分享的是有关linux中进程fork()的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Linux fork()详解:

在开始之前,我们先来了解一些基本的概念:

程序, 没有在运行的可执行文件  

   进程,  运行中的程序   

进程调度的方法:  

    按时间片轮转  
    先来先服务 
    短时间优先 
    按优先级别   

进程的状态:       

        就绪   ->>   运行  ->> 等待 
        运行 ->> 就绪 //时间片完了 
        等待 ->> 就绪 //等待的条件完成了   

查看当前系统进程的状态 ps auxf 

status: 

D    Uninterruptible sleep (usually io
R    Running or runnable (on run queue) 
S    Interruptible sleep (waiting for an event to complete) 
T    Stopped, either by a job control signal or because it is being traced. 
W    paging (not valid since the 2.6.xx kernel) 
X    dead (should never be seen) 
Z    Defunct ("zombie") process, terminated but not reaped by its parent. 
<    high-priority (not nice to other users) 
N    low-priority (nice to other users) 
L    has pages locked into memory (for real-time and custom IO) 
s    is a session leader 
l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) 
+    is in the foreground process group   

父进程/子进程 , 让一个程序运行起来的进程就叫父进程, 被调用的进程叫子进程   

getpid //获取当前进程的进程号 
   getppid //获取当前进程的父进程号   

fork //创建一个子进程,创建出来的子进程是父进程的一个副本, 除了进程号,父进程号不同。  

    子进程从fork()后开始运行, 它得到的fork返回值为0 
    父进程得到的返回值为子进程的进程号 
    返回值为-1时, 创建失败

来看一个程序:

#include <stdio.h> #include <unistd.h>  int main(void) {   pid_t pid ;    //printf("hello world \n");    //从fork开始就已经产生子进程   pid = fork();  //就已经产生新的4G空间,复制空间   //创建出来的子进程是父进程的一个副本,除了进程号,父进程号和子进程号不同   //printf("hello kitty\n");   if(pid == 0)     {     //子进程运行区      printf("child curpid:%d parentpid:%d \n" , getpid() , getppid());     return 0 ;    }    //父进程运行区   printf("parent curpid:%d parentpid:%d \n" , getpid() , getppid());    return 0 ;  }

感谢各位的阅读!关于“Linux中进程fork()的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Linux中进程fork()的示例分析

本文链接: https://www.lsjlt.com/news/256766.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux中进程fork()的示例分析
    这篇文章给大家分享的是有关Linux中进程fork()的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux fork()详解:在开始之前,我们先来了解一些基本的概念: 程序, 没有在运行的可执行文件...
    99+
    2023-06-09
  • Linux中fork执行的示例分析
    这篇文章主要介绍了Linux中fork执行的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux 中fork的执行的实例详解先看看一段fork的程序int&nbs...
    99+
    2023-06-09
  • Shell脚本中Fork炸弹的示例分析
    这篇文章主要介绍了Shell脚本中Fork炸弹的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。fork炸弹介绍众所周知,bash是一款极其强大的shell,提供了强大...
    99+
    2023-06-09
  • Linux中进程权限的示例分析
    这篇文章主要介绍Linux中进程权限的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux 进程权限分析在linux下,关于文件权限,大部分人接触比较多,也比较熟悉了解.但是对进程权限一般知之甚少。本文总...
    99+
    2023-06-09
  • Linux中进程通信的示例分析
    这篇文章将为大家详细讲解有关Linux中进程通信的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数...
    99+
    2023-06-27
  • Linux中进程和线程的示例分析
    这篇文章主要为大家展示了“Linux中进程和线程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中进程和线程的示例分析”这篇文章吧。计算机实际上可以做的事情实质上非常简单,比如...
    99+
    2023-06-13
  • Linux系统进程的示例分析
    这篇文章主要为大家展示了“Linux系统进程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统进程的示例分析”这篇文章吧。1. 什么是进程进程是处于执行期的程序以及...
    99+
    2023-06-13
  • Linux进程控制的示例分析
    这篇文章将为大家详细讲解有关Linux进程控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux进程控制详解及实例常用函数:fork() 通过复制调用进程来建立新的进程,是最基本的进程建立...
    99+
    2023-06-09
  • Linux进程通信的示例分析
    这篇文章主要为大家展示了“Linux进程通信的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux进程通信的示例分析”这篇文章吧。linux下的多个进程间的通信机制叫做IPC(,它是...
    99+
    2023-06-28
  • Linux的fork函数使用实例分析
    本文小编为大家详细介绍“Linux的fork函数使用实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux的fork函数使用实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一个进程,包括代码、数...
    99+
    2023-06-27
  • Java并发编程之Fork/Join框架的示例分析
    这篇文章主要介绍了Java并发编程之Fork/Join框架的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Fork/Join框架的理解ForkJoinTask类属...
    99+
    2023-06-15
  • Linux多线程中fork与互斥锁过程示例
    目录问题提出:(一)初次尝试(二)理性分析(三)解决问题(1)使用pthread_join()(2)使用phread_atfork()注册一个fork之前的判断问题提出: 我们有这样一个问题:在一个多线程程序中创建子进程...
    99+
    2022-06-04
    Linux多线程fork linux互斥锁过程
  • Linux 内核中reuseport 的演进示例分析
    今天给大家介绍一下Linux 内核中reuseport 的演进示例分析。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。SO_REUSEPORT选项在Linux ...
    99+
    2023-06-28
  • Linux中线程属性的示例分析
    这篇文章主要为大家展示了“Linux中线程属性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中线程属性的示例分析”这篇文章吧。我们在调用pthread_create函数创建线...
    99+
    2023-06-15
  • linux中make的示例分析
    小编给大家分享一下linux中make的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!规则规则rule是指示 make 应该如何并且何时构建一个被称作为目...
    99+
    2023-06-16
  • Linux中Base64的示例分析
    这篇文章主要为大家展示了“Linux中Base64的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中Base64的示例分析”这篇文章吧。Base64编码在电子邮件中很常见,Fo...
    99+
    2023-06-27
  • linux中iostat的示例分析
    这篇文章主要介绍linux中iostat的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!iostat主要用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出...
    99+
    2023-06-12
  • java中进程和线程的示例分析
    小编给大家分享一下java中进程和线程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么会有进程在简单的批处理操作系统中,作业时串行执行的,即一个作业...
    99+
    2023-06-20
  • Node.js中进程和线程的示例分析
    这篇文章给大家分享的是有关Node.js中进程和线程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。进程与线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有...
    99+
    2023-06-15
  • Linux系统中Shell编程的示例分析
    这篇文章主要介绍Linux系统中Shell编程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一. 什么是Shell        1. 在学习Shell编程之前,我们...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作