![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 96
jokr_
这个作者很懒,什么都没留下…
展开
-
【Linux 进程间通信 —— systemV 信号量】
在并发编程中,多个进程或线程可能同时访问共享资源,如果不加以限制,就会出现竞态条件(Race Condition)。竞态条件指的是多个进程或线程在相同的资源上进行读写操作时,由于执行顺序的不确定性,导致程序的行为出现异常或结果不一致的情况。原创 2024-05-16 16:37:03 · 835 阅读 · 0 评论 -
【Linux 进程间通信 —— systemV 共享内存】
因为共享内存其自身的特点,没有额外的拷贝过程,所以共享内存是进程最快的方式,所以共享内存并不保证通信的同步,数据在读取之后也不会清空,所以就能看到一直在之前所读到底字符串后面添加继续打印,。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据.此时再运行程序,即可发现关联该共享内存的进程数由0变成了1,而共享内存的权限显示也不再是0,而是我们设置的666权限。来创建了一个共享内存,打印出其key的十六进制数和shmid。原创 2024-05-16 16:23:03 · 1104 阅读 · 0 评论 -
【Linux进程通信 —— 管道】
在 Linux 中,进程间通信(IPC,Inter-Process Communication)是指不同进程之间交换数据和信息的一种机制。这种通信可以是在同一台计算机上的不同进程之间,也可以是在不同计算机之间的进程之间。管道(Pipe)是一种用于进程间通信的机制,允许一个进程的输出直接成为另一个进程的输入。它主要用于在父进程和子进程之间或者在同时运行的两个进程之间进行通信。管道可以分为匿名管道(Anonymous Pipe)和命名管道(Named Pipe)两种类型。原创 2024-05-15 21:32:28 · 734 阅读 · 1 评论 -
【Linux动态库和静态库】
在链接阶段,编译器会将编译后的目标文件和库文件链接成一个可执行文件。这时候库文件才发挥作用,它们被链接到可执行文件中,使得可执行文件包含了库中的函数和数据。对于静态库,链接器会将库中的目标文件直接复制并链接到可执行文件中;对于动态库,链接器只会在可执行文件中包含对动态库的引用,而不包含实际的库函数和数据。原创 2024-04-28 11:27:37 · 757 阅读 · 0 评论 -
【Linux —— 再谈软硬链接】
再谈软硬链接原创 2024-04-22 11:09:12 · 910 阅读 · 3 评论 -
【Linux基础IO】
man 2 open。原创 2024-04-10 15:01:29 · 716 阅读 · 4 评论 -
【Linux 进程概念】
计算机管理硬件描述起来,用struct结构体组织起来,用链表或其他高效的数据结构。原创 2024-03-20 16:23:57 · 1111 阅读 · 3 评论 -
【Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)】
在我们每次重新生成可执行程序前,都应该将上一次生成可执行程序时生成的一系列文件进行清理,但是如果我们每次都手动执行一系列指令进行清理工作的话,未免有些麻烦,因为每次清理时执行的都是相同的清理指令,这时我们可以将项目清理的指令也加入到Makefile文件当中。对同一份源代码分别生成其release版本和debug版本的可执行程序,并通过ll指令可以看到,debug版本发布的可执行程序的大小比release版本发布的可执行程序的大小要大一点,其原因就是以debug版本发布的可执行程序当中包含了更多的调试信息。原创 2024-02-09 13:27:10 · 3552 阅读 · 2 评论 -
【Shell的运行原理以及Linux当中的权限问题】
该提示说你没有被超级用户(root)添加到信用列表当中,所以该条指令的权限得不到提升(你想想嘛,怎么可能让一个普通用户随意更改另一个普通用户的密码嘛),只有当你被超级用户添加到信任列表后,你才拥有提升当前指令权限的能力。但实际上你会发现,你所创建出来的文件和目录的权限值往往不是我们所翻译出来的值,原因就是创建文件和目录的时候还要受到umask的影响,假设默认权限是mask,则实际创建出来的文件权限是:mask&(~umask)实际上,新建文件的默认权限为0666,新建目录的默认权限为0777。原创 2024-02-04 16:49:42 · 1013 阅读 · 0 评论 -
【Linux常见指令汇总(入门必备)】
特别注意: 上面说到 -f 是强制性删除,-r 是递归式删除,这两个结合在一起就是递归式强制性删除,千万不要执行以下指令,因为在Linux当中没有类似回收站的东西也没有撤销删除的功能,删除指令一旦执行则是不可逆的。4)网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup。2)-a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。原创 2024-02-04 00:51:30 · 967 阅读 · 0 评论