[linux] C语言Linux系统编程进程基本概念

2018-06-18 03:56:12来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

 

1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件。进程是执行中的目标代码:活动的、生存的、运行的程序。

除了目标代码进程还包含数据、资源、状态以及虚拟化的计算机。

 

2.进程体系:

每一个进程都有一个唯一的正整数标识,即进程ID(pid).第一个进程的pid1,接下来每一个进程接受一个新的唯一的pid.

linux中,进程有一个严格的层次结构,这就是广为人知的进程树。进程树以第一个进程,也就是init进程为根。新进程通过fork()系统调用创建。fork()复制了调用进程,原进程称为父进程,新进程称为子进程。除了第一个进程外,每一个进程都有父进程。

 

3.信号

信号是一种单向异步通知机制,信号可能是从内核发送到进程,也可能是从进程到进程,或者进程给自己。信号一般用于通知进程发生某些事件。

linux内核实现了大约30个信号,每一个信号由一个数字常亮和文本名表示。除了SIGKILL(进程中断)SIGSTOP(进程停止)外,进程能够根据接收到的信号进行控制。

 

4.进程间通讯

允许进程间交换信息和通知彼此所发生的事件是操作系统最重要的工作之一。linux内核实现了传统的unix的进程间通讯(IPC)机制。

linux支持的进程间通讯机制包括管道、命名管道、信号量、消息队列、共享内存、快速用户空间互斥体

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:[编程] C语言Linux系统编程-等待终止的子进程(僵死进程)

下一篇:assert断言