在Unix和Linux系统中,/dev目录下的设备文件前缀代表了设备类型。以下是一些常见的设备前缀,以及相关的设备例子:
注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
第一次接触"套接字"这个词是在大学里《计算机网络技术》这门课程,英文是"Socket",中译就是:插座、插孔。我很难将Sokect和套接字联系到一起,我也不知道是谁翻译出来的,导致我当时一度难以理解什么是套接字。都怪我国最早那...
在linux/unix系统中,我们如果想杀死一个进程,可以使用 kill -9 PID 的方式来杀死一个进程,这种方式并不是调用了什么系统的API函数实现的,实际是给进程发送了一个 SIGKILL 信号。当进程收到这个信号后执行了一个默认的操...
学习了信号机制,我们就可以利用信号机制实现进程间同步了,比如我们希望一个进程处理完某件事情后再通知另外一个进程继续处理某件事情,这种需求实现的方法有很多,但是用信号实现是最方便的,这里我们举例用了一个踢皮球的小...
所谓阻塞,就是屏蔽掉某信号,让程序在收到某信号以后不做任何事情,包括默认动作也不执行。要实现这个需求,我们首先得了解一下系统对于每一个进程的信号是如何投递的,这个信号的走向流程是怎么样的,才能针对性的下手实现这个...
Daemon(精灵)进程,是Linux中的后台服务进程,生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。类似于Windows下的服务程序。通常的 linux 程序在我们通过终端运行挂起后,再关闭...
本文将通过一个创建n个线程的案例来展示一下线程属性的设定及使用,通常情况下,系统对于线程的创建是没有限制的,但是每一个线程都是需要一个栈空间的,每个栈空间大小也都是固定的,可通过系统命令 ulimit -a 来查看,如果线程...
在 32 位的 linux/unix 系统下,每个程序打开一个文件都会有一段 4G 的虚拟地址空间,这部分空间中,有1G是内核地址空间,3G是用户地址空间,这个概念我们在之前的文章中有介绍过,可参考 “不同位置的变量在内存中的排布”,其中...
fork() 函数是 linux/unix 下一种特别的创建子进程的函数,它不同与 Windows,这个函数在执行成功后会有两个返回值,一个返回值==0代表创建了子进程,一个返回值大于0代表还是当前程序进程,而这个大于0的值就是创建的子进程的...