操作系统管理多个用户的请求和多个任务。大多数系统都只有一个CPU和一个主要存储,但一个系统可能有多个二级存储磁盘和多个输入/输出设备。操作系统管理这些资源并在多个用户间共享资源,当用户提出一个请求时,造成好像系统被用户独占的假象。实际上操作系统监控着一个等待执行的任务队列,这些任务包括用户任务、操作系统任务、邮件和打印任务等。本章节将从用户的角度讲述如何控制进程。
2024年09月12日
操作系统管理多个用户的请求和多个任务。大多数系统都只有一个CPU和一个主要存储,但一个系统可能有多个二级存储磁盘和多个输入/输出设备。操作系统管理这些资源并在多个用户间共享资源,当用户提出一个请求时,造成好像系统被用户独占的假象。实际上操作系统监控着一个等待执行的任务队列,这些任务包括用户任务、操作系统任务、邮件和打印任务等。本章节将从用户的角度讲述如何控制进程。
2024年09月12日
本章将讨论信号,虽然信号的基本概念比较简单,但是其所涉及到的细节内容比较多,所以本章篇幅也会相对比较长。事实上,在很多应用程序当中,都会存在处理异步事件这种需求,而信号提供了一种处理异步事件的方法,所以信号机制在Linux早期版本中就已经提供了支持,随着Linux内核版本的更新迭代,其对信号机制的支持更加完善。
本章将会讨论如下主题内容。
2024年09月12日
Linux编程进程间通信(1)管道
1、 管道概述及相关API应用
1.1 管道相关的关键概念
管道是Linux支持的最初Unix IPC形式之一,具有以下特点:
管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;
只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);
单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。
2024年09月12日
定义
信号(signal)是Linux进程间通信的一种机制,全称为软中断信号,也被称为软中断。信号本质上是在软件层次上对硬件中断机制的一种模拟。
与其他进程间通信方式(例如管道、共享内存等)相比,信号所能传递的信息比较少,只是一个整数。信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。但正是由于传递的信息量少,信号也便于管理和使用,可以用于系统管理相关的任务,例如通知进程终结、中止或者恢复等。
2024年09月12日
本文介绍这些工具的底层 ptrace 是如何实现的。这里选用了 1.2.13 的早期版本,原理是类似的,新版内核代码过多,没必要陷入过多细节中。 |
2024年09月12日
内容提要,学习一下以命令:ps,sleep,kill,export和主要目录讲解。下面开始
2024年09月12日
(接上篇)
Module接口定义具体内容如下所示。
type Module interface { Name() string |
2024年09月12日
始终首先使用像SIGTERM这样较为温和的信号,而不是立即使用像SIGKILL这样强制性的信号。这样可以给进程执行清理操作和关闭文件的机会,有助于防止数据损坏。
DevOps工程师或系统管理员经常需要管理系统进程。了解如何管理进程对于监控、调试和扩展应用程序是不可或缺的。每个DevOps工程师都应熟悉一个基本命令即kill命令,它可以向进程发送信号以实现中断、控制或终止进程的功能。我们需要了解不同信号的含义及其适用场景。
2024年09月12日