- 07. 信号产生函数 7.1 kill函数#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);功能:给指定进程发送指定信号(不一定杀死)参数: pid : 取值有 4 种情况 : pid > 0: 将信号传送给进程 ID 为pid的进程。 pid = 0 : 将信号... 07. 信号产生函数 7.1 kill函数#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);功能:给指定进程发送指定信号(不一定杀死)参数: pid : 取值有 4 种情况 : pid > 0: 将信号传送给进程 ID 为pid的进程。 pid = 0 : 将信号...
- @[toc] 01. 学习目标了解信号中的基本概念熟练使用信号相关的函数了解内核中的阻塞信号集和未决信号集作用参考文档使用信号集操作相关函数熟练使用信号捕捉函数signal熟练使用信号捕捉函数sigaction熟练掌握使用信号完成子进程的回收 02. 信号的概述信号的概念信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式 ... @[toc] 01. 学习目标了解信号中的基本概念熟练使用信号相关的函数了解内核中的阻塞信号集和未决信号集作用参考文档使用信号集操作相关函数熟练使用信号捕捉函数signal熟练使用信号捕捉函数sigaction熟练掌握使用信号完成子进程的回收 02. 信号的概述信号的概念信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式 ...
- 08. 线程属性(了解) 8.1 概述Linux下线程的属性是可以根据实际项目需要,进行设置,之前我们讨论的线程都是采用线程的默认属性,默认属性已经可以解决绝大多数开发时遇到的问题。如我们对程序的性能提出更高的要求那么需要设置线程属性,比如可以通过设置线程栈的大小来降低内存的使用,增加最大线程个数。typedef struct{ int etachstate;... 08. 线程属性(了解) 8.1 概述Linux下线程的属性是可以根据实际项目需要,进行设置,之前我们讨论的线程都是采用线程的默认属性,默认属性已经可以解决绝大多数开发时遇到的问题。如我们对程序的性能提出更高的要求那么需要设置线程属性,比如可以通过设置线程栈的大小来降低内存的使用,增加最大线程个数。typedef struct{ int etachstate;...
- 6.7 线程的优缺点优点:Ø 提高程序并发性Ø 开销小Ø 数据通信、共享数据方便缺点:Ø 库函数,不稳定Ø 调试、编写困难、gdb不支持Ø 对信号支持不好优点相对突出,缺点均不是硬伤。Linux下由于实现方法导致进程、线程差别不是很大。 07. 线程常用操作 7.1 线程号就像每个进程都有一个进程号一样,每个线程也有一个线程号。进程号在整个系统中是唯一的,但线程号不同,线程号只在它所属的进... 6.7 线程的优缺点优点:Ø 提高程序并发性Ø 开销小Ø 数据通信、共享数据方便缺点:Ø 库函数,不稳定Ø 调试、编写困难、gdb不支持Ø 对信号支持不好优点相对突出,缺点均不是硬伤。Linux下由于实现方法导致进程、线程差别不是很大。 07. 线程常用操作 7.1 线程号就像每个进程都有一个进程号一样,每个线程也有一个线程号。进程号在整个系统中是唯一的,但线程号不同,线程号只在它所属的进...
- 5.5案例:定时创建文件#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/types.h>#include<sys/stat.h>#include<time.h>#include<unistd.h>#define SIZE 32//守护进程模型int main(){ pid_t pid = -1; ... 5.5案例:定时创建文件#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/types.h>#include<sys/stat.h>#include<time.h>#include<unistd.h>#define SIZE 32//守护进程模型int main(){ pid_t pid = -1; ...
- 05. 守护进程(重点) 5.1 守护进程介绍守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。一般采用以d结尾的名字。守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端呢?之所以脱离于终端是为了避免进程被任何终... 05. 守护进程(重点) 5.1 守护进程介绍守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。一般采用以d结尾的名字。守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端呢?之所以脱离于终端是为了避免进程被任何终...
- @[toc] 01. 学习目标了解终端的概念了解进程组的概念了解会话概念熟练掌握守护进程创建了解线程优缺点和基本概念熟练掌握线程基本操作函数了解线程属性的设置说出守护进程的特点独立完成守护进程的创建独立实现多个线程的创建独立实现线程的退出和资源回收独立实现线程的取消(杀死线程)使用线程属性设置线程分离 02. 终端的概念(了解)在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,... @[toc] 01. 学习目标了解终端的概念了解进程组的概念了解会话概念熟练掌握守护进程创建了解线程优缺点和基本概念熟练掌握线程基本操作函数了解线程属性的设置说出守护进程的特点独立完成守护进程的创建独立实现多个线程的创建独立实现线程的退出和资源回收独立实现线程的取消(杀死线程)使用线程属性设置线程分离 02. 终端的概念(了解)在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,...
- 05. 共享存储映射 5.1 概述存储映射I/O (Memory-mapped I/O) 使一个磁盘文件与存储空间中的一个缓冲区相映射。于是当从缓冲区中取数据,就相当于读文件中的相应字节。于此类似,将数据存入缓冲区,则相应的字节就自动写入文件。这样,就可在不适用read和write函数的情况下,使用地址(指针)完成I/O操作。共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, ... 05. 共享存储映射 5.1 概述存储映射I/O (Memory-mapped I/O) 使一个磁盘文件与存储空间中的一个缓冲区相映射。于是当从缓冲区中取数据,就相当于读文件中的相应字节。于此类似,将数据存入缓冲区,则相应的字节就自动写入文件。这样,就可在不适用read和write函数的情况下,使用地址(指针)完成I/O操作。共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, ...
- 04. 有名管道 4.1 概述管道,由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了命名管道(FIFO),也叫有名管道、FIFO文件。命名管道(FIFO)不同于无名管道之处在于它提供了一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中,这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过 FIFO 相互通信,因此,通过 F... 04. 有名管道 4.1 概述管道,由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了命名管道(FIFO),也叫有名管道、FIFO文件。命名管道(FIFO)不同于无名管道之处在于它提供了一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中,这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过 FIFO 相互通信,因此,通过 F...
- @[toc] 01. 学习目标说出并理解管道的读写行为熟练使用pipe进行父子进程间通信熟练使用fifo进行无血缘关系的进程间通信熟练掌握mmap函数的使用使用mmap进行有血缘关系的进程间通信使用mmap进行无血缘关系的进程间通信 02. 进程间通讯概念进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程... @[toc] 01. 学习目标说出并理解管道的读写行为熟练使用pipe进行父子进程间通信熟练使用fifo进行无血缘关系的进程间通信熟练掌握mmap函数的使用使用mmap进行有血缘关系的进程间通信使用mmap进行无血缘关系的进程间通信 02. 进程间通讯概念进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程...
- 16. 孤儿进程父进程运行结束,但子进程还在运行(未运行结束)的子进程就称为孤儿进程(Orphan Process)。每当出现一个孤儿进程的时候,内核就把孤儿进程的父进程设置为 init ,而 init 进程会循环地 wait() 它的已经退出的子进程。这样,当一个孤儿进程凄凉地结束了其生命周期的时候,init 进程就会代表党和政府出面处理它的一切善后工作。因此孤儿进程并不会有什么危害。 ... 16. 孤儿进程父进程运行结束,但子进程还在运行(未运行结束)的子进程就称为孤儿进程(Orphan Process)。每当出现一个孤儿进程的时候,内核就把孤儿进程的父进程设置为 init ,而 init 进程会循环地 wait() 它的已经退出的子进程。这样,当一个孤儿进程凄凉地结束了其生命周期的时候,init 进程就会代表党和政府出面处理它的一切善后工作。因此孤儿进程并不会有什么危害。 ...
- 12. 父子进程地址空间父子进程各自的地址空间是独立的int a = 10; // 全局变量int main(){ int b = 20; //局部变量 pid_t pid; pid = fork(); if (pid < 0) { // 没有创建成功 perror("fork"); } if (0 == pid) ... 12. 父子进程地址空间父子进程各自的地址空间是独立的int a = 10; // 全局变量int main(){ int b = 20; //局部变量 pid_t pid; pid = fork(); if (pid < 0) { // 没有创建成功 perror("fork"); } if (0 == pid) ...
- 09. 进程的创建(重点)系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。#include <sys/types.h>#include <unistd.h>pid_t fork(void);功能: 用于从一个已存在的进程中创建一个新进程,新进程称为子进程,原进程称为父进程。参数: 无返回值: 成功:子进程中返回 0,父进程中返... 09. 进程的创建(重点)系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。#include <sys/types.h>#include <unistd.h>pid_t fork(void);功能: 用于从一个已存在的进程中创建一个新进程,新进程称为子进程,原进程称为父进程。参数: 无返回值: 成功:子进程中返回 0,父进程中返...
- 07. 进程的状态(重点)进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型中,进程状态分为三个基本状态,即运行态,就绪态,阻塞态。在五态模型中,进程分为新建态、终止态,运行态,就绪态,阻塞态。**①TASK_RUNNING:**进程正在被CPU执行。当一个进程刚被创建时会处于TASK_RUNNABLE,表示己经准备就绪,正等待被调度。②TASK_IN... 07. 进程的状态(重点)进程状态反映进程执行过程的变化。这些状态随着进程的执行和外界条件的变化而转换。在三态模型中,进程状态分为三个基本状态,即运行态,就绪态,阻塞态。在五态模型中,进程分为新建态、终止态,运行态,就绪态,阻塞态。**①TASK_RUNNING:**进程正在被CPU执行。当一个进程刚被创建时会处于TASK_RUNNABLE,表示己经准备就绪,正等待被调度。②TASK_IN...
- @[toc] 01. 学习目标了解进程相关的概念掌握fork/getpid/getppid函数的使用熟练掌握ps/kill命令的使用熟练掌握execl/execlp函数的使用说出什么是孤儿进程和僵尸进程 02. 进程和程序 (理解)我们平时写的 C 语言代码,通过编译器编译,最终它会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为了一个进程。程序是存放在存储介质上的一... @[toc] 01. 学习目标了解进程相关的概念掌握fork/getpid/getppid函数的使用熟练掌握ps/kill命令的使用熟练掌握execl/execlp函数的使用说出什么是孤儿进程和僵尸进程 02. 进程和程序 (理解)我们平时写的 C 语言代码,通过编译器编译,最终它会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为了一个进程。程序是存放在存储介质上的一...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签