进程相关
Seven17000
与其临渊羡鱼,不如退而结网。
展开
-
Linux中的进程控制模块task_struct
简介计算机体系中控制进程的模块我们把它叫做进程控制模块,即PCB。它是对进程控制的唯一手段也是最有效的手段。 在Linux 中PCB是由task_struct 数据结构来定义的,当我们调用fork() 时, 系统会为我们产生一个task_struct结构。然后从父进程,那里继承一些数据, 并把新的进程插入到进程树中, 以待进行进程管理。因此了解task_struct的结构对于我们理解进程调度的关键原创 2017-04-14 11:56:11 · 1657 阅读 · 0 评论 -
通过指令“ps -l”查看进程信息
简介在Linux环境下使用ps -l指令即可以查看当前环境下与bash相关的的进程信息。 如图所示 下面我们来依次解释下这些内容F:代表这个进程的旗标,说明进程的权限常见的有4和1,4表示该进程是使用的root权限,1表示此进程是fork之后未执行的。现在的0则表示两者都不是。S:代表这个进程的状态(STAT)具体分为以下几个状态 R(running)可执行状态,只有在该状态下的进程才可能原创 2017-04-17 22:47:57 · 2676 阅读 · 0 评论 -
僵尸进程与孤儿进程
上篇博客我们讲到进程在系统中的状态,在Linux系统编程中,进程经常会出现僵死状态(僵尸进程)和孤儿进程的情况。这篇博客就将详细的介绍这两种进程。孤儿进程孤儿进程是指在进程还未退出之前它的父进程就已经先退出了,简单来说就是一个没有父进程的子进程就是孤儿进程。既然所有的进程都必须在退出之后被父进程的wait()或waitpid()以释放其遗留在系统中的一些资源,那么孤儿进程的这些东西又谁来处理呢?这个原创 2017-05-04 18:00:13 · 697 阅读 · 0 评论 -
进程与虚拟内存空间
简介进程与程序程序是一个静态的概念,它就是一些预先编译好的指令和数据集合的一个文件,一般程序都存储在硬盘当中。进程则是正在运行的程序的实例,是一个动态的概念,它描述了程序在运行时的各种状态,往往被加载到内存之中。从实现的角度来看,进程就是一种数据结构,目的在于清晰的刻画动态系统的内在规律,有效的管理和调度进入计算机系统主存储器运行的程序。有人做过一个很有意思的比喻,说把程序和进程的概念跟做菜相比较的原创 2017-04-13 22:02:23 · 3040 阅读 · 0 评论 -
Linux进程间的通信方式之管道
简介管道是进程间通信(IPC)的一种重要方式,在 Linux 中,管道的实现并没有使用专门的数据结构,而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个 file 结构指向同一个临时的 VFS 索引节点,而这个 VFS 索引节点又指向一个物理页面而实现的,如图。它由进程之间的关系可以分为匿名管道和命名管道。匿名管道即两进程之间存在血缘关系时使用的管道,命名管道即两进程之间不存在原创 2017-05-29 13:35:55 · 643 阅读 · 0 评论