进程组 概念:一个或多个进程的集合。 每一个进程除了有一个进程ID外,还属于一个进程组,同时也只能属于一个进程组。每个进程组都有一个唯一的进程组ID,且都可以有一个组长进程。一般在进程组中,第一个进程是组长进程。 为啥要创建进程组呢?为了方便对进程进行管理。假设要完成一个任务,需要同时并发10个进程,当用户处于某种原因要终止这
博客搬家
信号的产生、阻塞以及捕捉用kill -l命令可以查看系统定义的信号列表:一、产生信号1、如何产生信号?(1)通过终端按键产生信号 SIGINT的默认处理动作是终止进程,SIGQUIT的默认处理动作是终止进程并且 Core Dump,那么到底什么是Core Dump? 当一个进程要异常终止时,可以选择把进程的用户空间内存数据全部
死锁的概念: 如果一组进程中的每一个进程都在等待仅由改组进程中的其他进程才能引发的事件,那么改组进程是死锁的。产生死锁的原因: 1、竞争资源引发进程死锁 1)可剥夺资源和不可剥夺资源 系统中的资源可以分为两类,一类是可剥夺资源,是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺
B-树: 一种适合外查找的平衡多叉树(有些地方写的是B-树,注意不要误读 成"B减树") 。M阶的B树满足如下性质: 1、根节点至少有两个孩子; 2、每个非根节点有[[M/2],M]个孩子; 3、每个非根节
一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访
AT&T的贝尔实验室,对Unix早期的进程间通信进行了改进和扩充,形成了"system V IPC",其通信进程主要局限在单个计算机内。IPC对象指的是共享内存(share memory)、消息队列(message queue)和信号灯集(semaphore)。信号灯(semaphore),也叫信号量。本质;一种数据操作锁(本身是一个计数器,是对临界资源的保护),它本身不具有数据交换的功能
进程间通信之管道进程间通信:每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核(操作系统),在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。本质:让不同的进程可以访问同一块系统资源。实现方式:一、最基本的进程间通信机制--管道(由pipe函数创建)&nbs
Makefile 会不会写makele,从一个侧面说明了一个是否具备完成大型工程的能力。 一个工程中的源件不计数,其按类型、功能、模块分别放在若干个目录中,makele定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需
Tag文件简介: tags文件(标签文件)是由ctags程序产生的一个索引文件, ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一
配置文件的默认位置: 在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以建立私有的配置文件,命名为:“.vimrc”。 用户可以在自己主目录下建立私有的配置文件 步骤: &n
vi/vim的区别: 1)相同:都是多模式编辑器 2)不同:vim是vi的升级版本,不仅兼容vi的所有指令,而且还有一些新的特性在里面,例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、macos、windows。vi的常见模式: 1)命
有关字符串的函数(strlen、strcat、strcpy、strcmp、strncat、strncpy、strncmp、 strchr、strrchr、strpbrk、strstr、strrstr、memcpy、memmove)#pragma once#include<assert.h>#include<string.h>/
树的定义本是递归定义,所以采用递归的方法实现遍历算法,更加让人理解,且代码简单方便。若采用非递归的方法实现,须得利用栈模拟实现。 栈的特点(后进先出) 非递归实现二叉树的前序遍历: 原理如图所示: &nb
复杂链表的概念: 在复杂链表中,每个结点除了有一个_pnext指针指向下一个结点外,还有一个_pSibling指向链表中的任意结点或者NULL。如下图 复杂链表每个结点的结构如下: //复杂链表结点的结构 
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号