草庐IT

《Linux从练气到飞升》No.20 Linux进程替换

 🕺作者: 主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!目录前言替换原理替换函数函数解释 命名理解 后记前言之前学习了进程创建、进程等待、进程终止等相关内容,但是我们可能会遇到这种情况:在项目中可能会有使用程序调用其他程序的方式,那么这就要使用到进程替换来实现了,那么本篇我们将讲述进程替换的相关知识。替换原理使用fork函数以后,父子各自执行父进程代码的一部分,但是如果子进程就是想执行一个新的程序呢?这时就会使用进程的程序替换来完成这个功能,程

《Linux从练气到飞升》No.18 进程终止

  🕺作者: 主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!前言前面我们讲述了使用fork函数进行进程的创建,既然有创建就有终止,那么本篇将向大家讲述进程终止的相关知识~进程终止与操作系统进程终止时操作系统做了什么呢?当然是要释放进程申请的相关内核数据结构和对应的数据和代码。本质就是释放系统资源。进程退出场景进程退出有三种场景如下:代码运行完毕,结果正确代码运行完毕,结果不正确代码异常终止这里我们要展开讲一下。在我们使用c语言进行编程的时候,我们

《Linux从练气到飞升》No.17 进程创建

  🕺作者: 主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!目录前言fork函数fork函数返回值写时拷贝fork常规用法fork调用失败的原因fork面试题后记前言之前我们在进程基本概念中讲述过fork可以创建子进程(请在《探秘Linux》专栏中查看),但是我们只是大概讲述了一下它的功能和大致原理,算作是初识,本篇将更为详细的讲述它的用法——创建进程fork函数在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为

《Linux从练气到飞升》No.14 Linux进程优先级

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!文章目录前言进程优先级基本概念查看系统进程`PRI`and`NI`怎么理解?查看进程优先级的命令其他概念后记前言前面两篇我们讲述了进程状态和进程的基本概念,本篇我们将讲述进程优先级的相关问题,为什么要有优先级,什么是优先级?Linux中是如何处理优先级问题的?我们都将在这篇文章中得到解答。进程优先级基本概念cpu资源分配的先后顺序,就是指进程的优先权(priority)。优先权高的进程有优先执

《Linux从练气到飞升》No.16 Linux 进程地址空间

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!文章目录前言程序地址空间回顾示例一示例二原因:什么是地址空间?小故事历史上的地址VS现在的地址虚拟地址1.什么是虚拟地址?2.什么是页表?3.遗留问题4.当我们的程序编译的时候,形成可执行程序的时候,还没有被加载到内存中的时候,请问我们程序内部有地址吗?5.程序从编译到执行的过程中,步骤是什么样的?地址空间的概念为什么要有地址空间?1.隔离和保护2.资源管理3.内存分布有序化重新理解什么是挂起

《Linux从练气到飞升》No.15 Linux 环境变量

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!文章目录前言基本概念常见环境变量查看环境变量方法测试PATH测试HOME和环境变量相关的命令环境变量的组织方式如何通过代码获取环境变量?后记前言在我们使用Linux命令时,我们会发现。我们执行命令并不需要带上路径,但是为什么我们自己写的C语言程序,需要带上路径。我们怎么把我们的程序可以做得像Linux的命令一样,直接输入就可以执行呢?本篇将回答这些问题,并讲述相关的概念。基本概念环境变量(en

《Linux从练气到飞升》No.13 Linux进程状态

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!文章目录前言先看看Linux内核源代码怎么说认识进程状态新建阻塞运行挂起终止进程状态查看命令Linux内核中的进程状态RSDS与D的区别:TXZR+/S+/T+中的+是什么意思?僵尸进程危害孤儿进程后记前言前面我们讲述了进程的基本概念以及如何描述、组织、查看进程,如何使用fork函数创建子进程等内容,本篇将讲述进程的各种状态。先看看Linux内核源代码怎么说下面的状态在kernel源代码里的定

《Linux从练气到飞升》No.11 初识操作系统

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!文章目录操作系统概念设计操作系统的目的操作系统定位操作系统的内容如何理解"管理"系统调用和库函数概念后记操作系统概念什么是操作系统?任何计算机系统都包含一个基本的程序集合,进行软硬件资源管理的一个软件,称为操作系统(OS)。设计操作系统的目的与硬件交互,管理所有的软硬件资源为用户程序(应用程序)提供一个良好的执行环境为什么要有操作系统?答:它负责管理和控制计算机的硬件资源,提供用户与计算机之间

《Linux从练气到飞升》No.12 Linux进程概念

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!文章目录前言进程基本概念描述进程-PCBtask_struct-PCB的一种task_struct内容分类组织进程查看进程通过系统调用获取进程标示符通过系统调用创建进程-fork初识1.父子进程代码共享,数据各自开辟空间,私有一份(采用写时拷贝)。2.父进程先运行还是子进程先运行?3.创建子进程时OS要做什么?后记前言本篇我们将正式进入Linux的世界,首先先要讲的就是进程,进程是什么?怎么描

《Linux从练气到飞升》No.07 Linux第一个小程序-进度条的实现

🕺作者:主页我的专栏C语言从0到1探秘C++数据结构从0到1探秘Linux菜鸟刷题集😘欢迎关注:👍点赞🙌收藏✍️留言🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢阅读!!!前言前面几章我们讲述了Linux指令、权限管理、编辑器、编译器、软件包管理器、自动化管理工具,也写了简单的”HelloWorld“程序,但是没有实现过复杂一点的程序,光说不练假把式,今天就带大家来做一个小项目–进度条。搭建框架在写代码之前,我们先把文件先建好。vimmain.cvimprocess.cvimprocess.hvimmakefile书写代码在写代码要先讲一个知识点。1.回车换行在