Linux系统编程笔记
文章平均质量分 91
晚风不及你的笑427
当下并不是人生的全部,唯有全力以赴,才能不负期望!
展开
-
Linux 常见指令
Linux 的一些基本指令操作理解起来都比较简单,重要的是要对指令进行练习和熟悉,用的多了自然就会了。Linux的指令后面会需要加入一些选项,如 -a , -n, -i等等后面会需要加入空格,不然会提示有错误,需要注意一下。原创 2022-10-19 10:28:18 · 247 阅读 · 0 评论 -
Linux权限
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这 个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读 权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。原创 2022-10-21 10:02:33 · 920 阅读 · 0 评论 -
Linux 环境基础开发工具的使用
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成 windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系。原创 2022-10-30 11:36:24 · 1795 阅读 · 0 评论 -
Linux 进程概念
寄存器虽然只有一套硬件,但是寄存器上面的数据是属于当前进程的,因为我们进程在运行时会产生很多的临时数据,这份数据是属于当前进程的,它会和一些其他的数据临时存储在寄存器中,统称这些数据为上下文。在冯诺依曼体系中CPU的运行速度是非常快的,内存的运行速度是比较快的,而磁盘和一些外部设备的速度是比较慢的。3. CPU运行时,不是按照进程的运行时间运行的,而是CPU内部有一个时间片的设定,它会根据每个进程设置时间片,让每个进程占用CPU资源的时间都能均等,避免出现一个进程死循环后,其他进程卡顿或使用不了的情况。原创 2022-11-30 10:52:08 · 89 阅读 · 0 评论 -
Linux 进程控制
目录一、进程创建 1.fork函数初识2.写时拷贝二、进程终止 1.进程退出场景 2.进程常见退出方法三、进程等待 1.进程等待必要性 2.进程等待的方法 2.1 wait方法 2.2 waitpid方法 2.3获取子进程status四、进程程序替换 1. 替换原理 2. 替换函数 2.1 函数解释 2.2 命名理解五、制作一个简易的shell 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。原创 2022-12-03 19:38:54 · 637 阅读 · 0 评论 -
Linux—基础IO
库本质就是.o文件的集合,那么什么是.o文件呢?.o又是怎么得来的呢?我们带着问题继续往下看,首先 .o 文件是一个可重定位目标二进制文件。上图是一个程序实现的过程,通常我们要运行这样一个可执行文件,需要函数的声明和定义,以及一个main函数。那么如果我们想把这个可执行程序给别人使用,但是又不想让他看到我们的源文件,怎么办呢?原创 2023-02-28 09:09:31 · 618 阅读 · 2 评论 -
Linux — 进程间通信
通信就是一个人通过某种方式向另一个人传输信息,那么什么是进程间通信?进程间通信就是一个进程向另一个进程传输信息。大家都知道进程是具有独立性的,那进程之间要通信,这个成本一定不低,为什么呢?因为进程的很多设计都是按照独立性展开的。那么进程间通信的目的是什么?原创 2023-03-16 11:42:53 · 397 阅读 · 0 评论 -
Linux — 【进程信号】
目录一、信号的概念那么生活中的信号有哪些呢? 如何把上面的概念迁徙到进程中呢? signal函数二、 信号的产生 1. 通过终端按键产生信号 2. 调用系统函数向进程发信号 kill函数 raise函数 abort函数 3. 硬件异常产生的信号 4. 软件条件产生信号alarm函数进程退出时的核心转储问题三、信号的保存 1. 信号其他相关常见概念 2. 信号在内核中的表示 3. sigset_t 四、信号的递达信号捕捉流程信号集操作函数sigprocmask函数sigpending函数siga原创 2023-03-23 09:51:40 · 638 阅读 · 2 评论 -
基于匿名管道的进程池
创建一个任务表,创建若干个子进程,他们依次和父进程建立通信信道,建立好管道关系后,父进程随机选择一个任务,再让随机一个子进程从管道中读取该任务并执行,完成要执行的轮次后,父进程关闭在管道中的所有写端,子进程而后被操作系统发送异常信号,所有子进程被终止,父进程再依次回收所有子进程。原创 2023-03-05 12:04:38 · 88 阅读 · 0 评论 -
高级 IO
Input,Output,不就是IO嘛,站在体系结构的角度,把数据从外设搬到内存就是Input,把数据从内存拷贝到外设就是Output。你说的没错,但是理解的还不够深刻,只有理解了什么是IO,才有可能理解什么是高效的IO?当我们在网络中发送数据时,用write来发送,用read来读取。但是有没有发现一个问题,之前说过在应用层调用 write,并不是直接将数据发送到网络中,而是将数据从应用层拷贝到传输层中的发送缓冲区中,所以write的本质是拷贝;原创 2023-07-30 16:19:53 · 1325 阅读 · 0 评论