当前位置: 首页 > news >正文

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

 

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

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

 

2.进程体系:

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

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

 

3.信号

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

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

 

4.进程间通讯

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

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

转载于:https://www.cnblogs.com/taoshihan/p/7944872.html

相关文章:

  • Solr部署到tomcat,通过war包
  • FreeTextBox使用详解
  • 《Unity3D 实战核心技术详解》书中关于矩阵的错误
  • CSS3无图片实现华丽折页菜单效果(多浏览器兼容)
  • Intellij IDEA 2017.3 基于编辑器的REST客户端介绍
  • 让集成的Intel82845g支持1440x900
  • ubuntu 下面手动创建引用程序启动项(转)
  • [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表
  • UIM卡 PIN 码特点
  • 详解在visual studio中使用git版本系统(图文)
  • 我来做百科(第五天)
  • POJ-1502 MPI Maelstrom
  • Oracle -- 字符集编码'GBK'库数据导入到'UFT-8'库中 大量报错 ORA-12899 解决方案
  • IOS-创建带Navigation的根控制器
  • .Net IOC框架入门之一 Unity
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 30秒的PHP代码片段(1)数组 - Array
  • ES6 ...操作符
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • github指令
  • in typeof instanceof ===这些运算符有什么作用
  • Java,console输出实时的转向GUI textbox
  • Js基础——数据类型之Null和Undefined
  • Js基础知识(一) - 变量
  • node 版本过低
  • React-flux杂记
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue.js框架原理浅析
  • 记录一下第一次使用npm
  • 前端学习笔记之观察者模式
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 如何选择开源的机器学习框架?
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 我的业余项目总结
  • 详解NodeJs流之一
  • 应用生命周期终极 DevOps 工具包
  • 再次简单明了总结flex布局,一看就懂...
  • 怎样选择前端框架
  • 白色的风信子
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ###C语言程序设计-----C语言学习(3)#
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (3)STL算法之搜索
  • (33)STM32——485实验笔记
  • (day 12)JavaScript学习笔记(数组3)
  • (solr系列:一)使用tomcat部署solr服务
  • (接口封装)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三)uboot源码分析
  • (生成器)yield与(迭代器)generator
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联