Linux系统
文章平均质量分 94
Linux系统
先鱼鲨生
学习笔记,写一些C++、数据结构、Linux等。和大家一起学习!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux】进程控制
进程通过main函数的返回值来判断错误,对于一般的函数可以使用errno来查看它们的执行错误。举一个例子errno = 10;int main()func();return 0;运行结果。原创 2025-09-11 14:41:18 · 823 阅读 · 0 评论 -
【Linux】System V - 基于建造者模式的信号量
nsops: sops 对应的信号量的个数,也就是可以同时对多个信号量进⾏PV操作。// 将该进程的PCB插⼊⼊相应的等待队列s.queue末尾。// 唤醒相应等待队列s.queue中等待的⼀⼀个进程。我们使⽤信号量,简化信号量使⽤,测试使⽤⼆元信号量进⾏显⽰器交替打印。key: 信号量集的键值,同消息队列和共享内存。semid: 是该信号量的标识码,也就是。S=0: 表⽰⽆可⽤资源,⽆等待进程。nsems: 信号量集中信号量的个数。S>0: S 表⽰可⽤资源的个数。//信号量本质上是⼀个计数器。原创 2025-08-04 10:12:12 · 983 阅读 · 0 评论 -
【Linux】System V - 责任链模式与消息队列
msgsz:是msgp指向的消息⻓度,这个⻓度不含保存消息类型的那个long int⻓整型。每个消息队列的总的字节数也是有上限的(MSGMNB),系统上消息队列的总数也有上限。消息队列也有管道⼀样的不⾜,就是每个消息的最⼤⻓度是有上限的(MSGMAX)每个数据块都被认为是有⼀个类型,接收者进程接收的数据块可以有不同的类型值。指向的消息⻓度,这个⻓度不含保存消息类型的那个long int⻓整型。绝对值的消息,并且是满⾜⾜条件的消息类型最小的消息。msgp:是⼀个指针,指针指向准备发送的消息。原创 2025-08-01 11:26:12 · 1174 阅读 · 0 评论 -
【Linux】进程地址空间
开始之前先来看看这样一段代码。请问在运行时这段代码会不会报错呢?答案是会出问题。为什么呢?因为 str 这个指针保存的是字符串的起始地址,并非字符串。*str 要将 h 改为 H ,但是字符串在字符常量区,具有可读属性,所以就会报错。这个问题相信在学习C/C++的时候都已经接触过。下面我们通过这篇文章进一步了解。原创 2025-07-31 21:47:55 · 1159 阅读 · 0 评论 -
【Linux】环境变量
有没有考虑过一个问题,当我们登录的时候,无论是普通用户还是root用户,你都会处于你的对应用户的路径下,这是因为有 HOME 这个环境变量的存在。所以我们就知道了,当你输入ls指令的时候,操作系统会在这些路径中依次去找,如果找到了就直接执行该路径下的程序,所以你在执行时就不用待路径了。这是因为我们运行的进程都是子进程,bash本身在启动的时候会从操作系统的配置文件中读取环境变量信息,子进程会继承父进程交给我的环境变量!不知道你有没有发现一个现象,我们的程序打印的环境变量和env指令打印的环境变量是一样的。原创 2025-06-26 20:16:58 · 1127 阅读 · 0 评论 -
【Linux】进程
举个例子:你的程序中有一个scanf函数,该程序会从运行队列中移除,将自己的状态改为堵塞,链接到键盘的等待队列中,如果等待成功,就会再将自己从等待队列中移除,链接到运行队列中,将自己的状态改为运行。当一个进程需要运行,就把它链接到CPU的等待队列中,当一个进程需要网络请求,就把它链接到网卡的等待队列中。进程退出后,其代码和数据会被立即释放,但是这个进程的PCB会被保留,因为我们可能需要这个进程的状态信息,此时这个状态就是僵尸状态(Z状态)。为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态。原创 2024-11-25 14:47:37 · 902 阅读 · 0 评论
分享