一、supervisor简介项目中需要将一些自己开发的服务放到系统进程中在后台运行。一开始使用的是screen工具配合写了一个shell脚本,基本实现了启动、重启、停止操作,但是对于进程守护方面不是太稳定,经常遇到进程停止导致服务异常的情况。于是想借助于一个成熟的进程管理工具,来管理这些服务进程。经过筛选,决定使用supervisor。supervisor是 …
linux exit
我们知道,线程间同步有多种方式,比如:信号量、互斥量、读写锁,等等。那进程间如何实现同步呢?本文介绍两种方式:互斥量和文件锁。##互斥量mutex我们已经知道了互斥量可以用于在线程间同步,但实际上,互斥量也可以用于进程间的同步。为了达到这一目的,可以在pthread_mutex_init初始化之前,修改其属性为进程间共享。mutex的属性修改函数主要有以下几 …
简介夜莺是新一代国产智能监控系统。对云原生场景、传统物理机虚拟机场景,都有很好的支持。安装prometheus作为后端的存储mkdir -p optprometheuswget https:s3-gz01.didistatic.comn9e-pubpromeprometheus-2.28.0.linux-amd64.tar.gz -O prometheus- …
前言:在Linux系统中,前面我们接触了用户进程或用户进程,但是在实际的也是有内核线程的存在,例如我们在内存管理章节中熟悉的内存回收进程kswapd,软中断等。本章主主要包括内核线程的创建和结束的完整过程。一,Linux线程管理Linux内核在启动的时候,是没有线程的概念,当内核初始化完成后将启动一系列的线程,之后,CPU执行流就绑定在一个线程中运行,内核线 …
1检测并确认新硬盘挂接好新的硬盘设备并启动主机后,Linux系统会自动检测并加载该硬盘,无须额外安装驱动。执行“fdisk -l”命令即可查看,确认新增硬盘的设备名称和位置。作用:列出当前系统中所有硬盘设备及其分区的信息。[root@localhost ~]# fdisk -lDisk devsda: 21.5 GB, 21474836480 bytes25 …
第一次成功编译Linux内核,打算写一篇算是笔记,记录一下,姑且算一个教程.编译环境使用的是WSL 的Debian GNULinux 13 (trixie) x86_64 , 如果要复现成功, 使用Ubuntu (或 Debian) 的虚拟机和 Docker 容器都可以. 建议使用虚拟机.安装编译内核过程中必要的工具和库gcc, make, bc, libs …
优秀Linux运维脚本案例推荐实用且高质量的运维脚本案例,涵盖系统监控、自动化维护、日志处理等多个方面。这些脚本根据实际需求进行调整和组合,建议从简单功能开始,逐步构建自己的运维脚本库。一、系统监控类脚本1. 综合系统监控脚本 (PythonShell混合)功能:监控CPU、内存、磁盘、网络和关键进程bash#!binbash# 获取系统关键指标并报警# 配 …
一、概述这曾经发生在你身上吗?你意识到你错误地删除了一个文件---要么通过Del键,要么在命令行中使用rm。在第一种情况下,您可以使用回站站(GNOME界面),然后将其恢复到原始位置。但是第二种情况呢?我相信你可能知道,Linux 命令行不会将删除的文件发送到任何地方,而是直接删除它们。二、过程2.1 为“rm -i”创建别名该-i选项与rm一起使用时在删除 …
1 前言1.1 Linux的调度器组成2个调度器可以用两种方法来激活调度一种是直接的, 比如进程打算睡眠或出于其他原因放弃CPU另一种是通过周期性的机制, 以固定的频率运行, 不时的检测是否有必要因此当前linux的调度程序由两个调度器组成:主调度器,周期性调度器(两者又统称为通用调度器(generic scheduler)或核心调度器(core sched …
随着 Linux 系统在服务器、嵌入式和工业控制等场景的广泛应用,掌握 Linux 驱动开发已经成为高级开发人员的必备技能。本文将带你完整走一遍「Linux 驱动程序」从开发到部署的全过程。一、什么是 Linux 驱动程序?Linux 驱动程序本质上是一组运行在内核态的软件模块,它们为用户空间的程序提供与硬件交互的接口。例如:USB、I2C、LED、网卡、G …
