LINUX
文章平均质量分 82
LINUX基础学习
「已注销」
这个作者很懒,什么都没留下…
展开
-
【LINUX】Minishell的简单实现
首先我们要知道shell是什么--------命令行解释器--捕捉用户的输入,执行对应的指令程序。原创 2023-04-05 20:33:58 · 223 阅读 · 1 评论 -
一文了解LINUX进程程序替换及6种替换函数的使用
用fork创建子进程后执行的是和父进程相同的程序但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时该进程的用户空间代码和数据完全被新程序替换从新程序的启动例程开始执行。调用exec并不创建新进程所以调用exec前后该进程的id并未改变。原创 2023-04-05 19:18:09 · 290 阅读 · 1 评论 -
一文了解进程等待
首先我们需要知道为什么要进行进程等待:之前讲过,子进程退出,父进程如果不管不顾,就可能造成僵尸进程的问题,进而造成内存泄漏。另外,进程一旦变成僵尸状态,那就刀枪不入,杀人不眨眼的kill -9也无能为力,因为谁也没有办法杀死一个已经死去的进程。最后,父进程派给子进程的任务完成的如何,我们需要知道。子进程运行完成,结果对还是不对,或者是否正常退出。父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息。原创 2023-04-05 16:42:52 · 130 阅读 · 1 评论 -
一文了解LINUX程序地址空间
每一个进程在启动的时候,都会让操作系统给它创建(虚拟)一个地址空间,该地址空间就是进程地址空间。每一个进程都会由一个自己的进程地址空间。操作系统需要管理这些进程地址空间,依旧是先描述,再组织。所谓的进程地址空间,其实是内核的一个数据结构(struct mm_struct)光有虚拟地址空间不行,还得有一个东西可以辅助程序可以通过虚拟地址空间找到物理地址中的数据:因此造作系统不仅仅给程序虚拟了一个地址空间,还构造了一个页表(页表中记录了虚拟地址和物理地址之间的映射关系)原创 2023-04-02 13:20:47 · 123 阅读 · 0 评论 -
Git三板斧【Linxu环境】
Git是一个开源的分布式版本控制系统,可以有效高速地处理从很小到很大的项目版本管理。是为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。原创 2023-03-24 14:32:36 · 140 阅读 · 0 评论 -
进程概念【Linux】 【进程基本概念】【PCB-进程控制块】【查看进程】【fork初始】【进程状态】【僵尸进程及其危害】【孤儿进程】
进程运行在操作系统上叫运行,在Linux内核叫运行状态R。进程终止在操作系统上叫终止,在Linux内核叫僵尸状态Z和死亡状态X。进程阻塞在操作系统上叫阻塞,在Linux内核叫浅度睡眠状态S和深度睡眠状态D。进程挂起在操作系统上叫挂起,在Linux内核叫S、D、T。原创 2023-03-31 21:28:54 · 709 阅读 · 1 评论 -
一文详解LINUX环境变量
如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但 是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。前面我们说过,子进程每次运行的pid都是在变化的,因为子进程每一次运行都是一次重启,但其父进程是不会变得,因为父进程是bash,是系统创建的命令解释器。其实我们设置环境变量是在全局中的,也可以说是设置在父进程bash里面的,而我们运行./env程序就是bash的一个子程序,因为。2. export: 设置一个新的环境变量[重点]原创 2023-04-02 12:13:48 · 203 阅读 · 0 评论