在上一篇文章中,我们介绍了Unix Socket以及如何使用它进行进程间通信。本文讨论一种不同且有限的 IPC 形式。 在我们研究过的 IPC 机制和大多数其他机制中,当应用程序进程向另一个应用程序进 …
在上一篇文章中,我们讨论了命名管道机制来实现进程间通信。本文将介绍另一种称为 Unix 域套接字的内容。 套接字是 Unix 网络的抽象。当我们想到网络时,我们会想到沟通。构成互联网的工具主要涉及创建 …
在上一篇文章中,我们介绍了进程间通信及其不同的机制。我们将从第一个命名管道或 FIFO 文件开始! 命名管道是一种建立在匿名管道结构之上的机制。您的常规 Unix 管道实际上是匿名管道。要了解命名管道 …
消息队列 有两种类型的消息队列 – System V 和 POSIX。它们之间有很多相似之处,也有细微的差别。本文重点介绍 System V,因为它是受更广泛支持的类型。 简单来说,消息队 …
您是否想过两个进程如何在一台设备中进行通信?我猜您想到了使用文件 I/O API 的文件[1],是的,这可以工作,但是在将数据写入受监视文件时发出警报会涉及一定程度的复杂性。您也可以想到网络,这也是可 …
到目前为止,每次我谈到阅读和写作记忆时都有点空洞。例如,ELF 文件指定要加载数据的特定内存地址,那么为什么不同进程尝试使用冲突内存时不会出现问题呢?为什么每个进程似乎都有不同的内存环境? 另外,我们 …
我们现在已经非常了解了execve。在大多数路径的末尾,内核将到达包含要启动的机器代码的最终程序。通常,在实际跳转到代码之前需要一个设置过程 – 例如,程序的不同部分必须加载到内存中的正确 …
到目前为止,我们已经介绍了 CPU 如何执行从可执行文件加载的机器代码、什么是基于环的安全性以及系统调用如何工作。在本节中,我们将深入了解 Linux 内核,首先了解程序是如何加载和运行的。 我们将专 …
假设您正在构建一个操作系统,并且希望用户能够同时运行多个程序。不过,您没有精美的多核处理器,因此您的 CPU 一次只能运行一条指令! 幸运的是,您是一位非常聪明的操作系统开发人员。您发现可以通过让进程 …
在撰写本文时,让我一次又一次感到惊讶的一件事是计算机是多么简单。我仍然很难不让自己感到兴奋,期待比实际存在的更复杂或抽象!如果在继续之前你应该记住一件事,那就是一切看似简单的事情实际上就是那么简单。这 …
从头开始…… 我用计算机做了很多事情,但我的知识始终有一个空白:当你在计算机上运行程序时到底会发生什么?我思考了这个差距——我拥有大部分必需的低级知识,但我正在努力将所有内容拼凑在一起。程序真的是直接 …
1、检查是否有安装inotify rpm -qa inotify-tools 2、没有先安装epol源 wget -O /etc/yum.repos.d/epel.repo http://mirror …
失效原因 默认情况下, docker启动后参数中如果加了端口映射, 就会自动将端口开放给所有网络设备访问,并且这种情况下即使在本机的系统防火墙中加规则也无效, 因为docker会自动添加一个优先级最高 …
【主机爆款特惠】限时优惠 低至3折 【助力企业上云】性能级主机2-5折 【全民云计算】云主机低至4折 【阿里云新用户】云通信专享8折 【商标注册服务】低至680元
准备环境 需要提前安装好nginx,并查看nginx已经安装的模块: /opt/nginx-1.17.2/sbin/nginx -V 返回举例: nginx version: nginx/1.17.2 …
-bash: mysqld_safe: command not found 解决方法 mysqld_safe是在Unix上启动 mysqld服务器的推荐方法 ;mysqld_safe详细介绍地址 原因 …
0X01、查找目录、文件夹 find / -name wordpress1.com -type d 0X02、显示目录占用的磁盘空间 du -sh * 0X03、从远程服务器下载文件到本地 scp & …
git管理的项目中添加了另一个远程仓库的项目,导致无法提交子文件夹 删除.git:rm -rm .git 清除缓存:git rm –cached directory 添加git跟踪:git …
一:跳到文件第一行 输入:0或:1,然后回车; 在键盘按下小写gg; 二:跳到文件最后一行 输入:$,然后回车; 在键盘按下大写G ; 在键盘按Shift + g; 三:查找字符串 输入:/要查找的字 …