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

Linux程序管理

一、Linux 程序与进程基础

1. 核心概念区分

  • 程序:静态的指令及参数集合,是完成特定任务的逻辑集合
  • 进程:运行中的程序,是操作系统执行的基本单位,具有生命周期和运行状态,是资源分配的基本单位
  • 线程:进程中单一顺序的控制流,是运算调度的最小单位,必须依赖进程存在

2. 关键区别

  • 程序与进程:程序是静态文件,进程是动态过程;一个程序可对应多个进程;进程具有并发性和交往性
  • 进程与线程:一个进程可包含多个线程,线程不能单独执行;线程共享进程资源,切换成本更低

二、Linux 进程生命周期

  1. 进程创建:父进程通过fork复制地址空间创建子进程,每个进程有唯一 PID 和 PPID(父进程 ID)
  2. 系统初始进程
    • CentOS 6:init 进程
    • CentOS 7:systemd 进程
  3. 父子进程关系
    • 子进程继承父进程的安全性身份、文件描述符、环境变量等
    • 子进程运行时父进程休眠,子进程结束后发出 exit 信号
    • 子进程退出后未释放的资源称为僵尸进程,由父进程清理

三、Linux 软件包管理

1. 常见软件包类型

类型后缀适用系统特点相关命令
rpm 包.rpm红帽系列需手动解决依赖rpm、yum、dnf
deb 包.debDebian 系列需手动解决依赖dpkg、apt
二进制包.bin通用可直接执行-
源码包无固定通用需编译,可自定义配置gcc、make

2. RPM 包管理

查看操作
# 查看是否安装
rpm -q 软件名# 查看所有已安装包
rpm -qa [| grep 软件名]# 查看已安装包信息
rpm -qi 软件名# 查看安装路径及文件
rpm -ql 软件名# 查看命令所属包
rpm -qf 命令绝对路径

3. YUM(DNF)管理

核心配置
  • 配置文件路径:/etc/yum.repos.d/

  • 缓存路径:/var/cache/dnf

路径文件

YUM 源类型
  1. 本地源file:///本地路径(需包含 repodata 目录)
  2. 网络源:支持 http、https、ftp 协议
常用 YUM 命令
# 安装软件
yum install 软件名# 卸载软件
yum remove 软件名# 只下载不安装
yum install 软件名 --downloadonly# 清空缓存
yum clean all# 生成缓存
yum makecache# 安装本地包
yum localinstall 本地包.rpm# 非交互模式
yum -y install 软件名#基于软件组安装
yum groupinstall#更新所有软件包
yum update [软件包名]

配置本地 YUM 源示例
cd /etc/yum.repos.d
rm -rf *
vim local.repo# 写入以下内容
[local]
name=local
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0# 生效配置
yum clean all
yum makecache
mount /dev/sr0 /mnt

4. 源码包编译安装

基本步骤
# 1. 解压源码包
tar xf 源码包.tar.gz# 2. 进入目录
cd 源码包目录# 3. 配置(指定安装路径等)
./configure --prefix=/usr/local/软件名# 4. 编译
make# 5. 安装
make install# 一键执行
./configure --prefix=/usr/local/软件名 && make && make install
Nginx 编译安装示例
tar xf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx1.12
# 解决依赖
yum install -y pcre-devel zlib-devel
make && make install
# 命令优化
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5. 二进制安装

直接运行.bin 文件:

./jdk-6u14-linux-x64.bin
# 按提示完成安装

四、systemd 服务管理

1. 基本概念

systemd 是管理系统进程的系统和服务管理器,基于 unit 概念实现,主要管理 rpm 安装的软件。

2. 常见 unit 类型

单元类型扩展名说明
Service.service系统服务
Target.target一组 systemd 单元
Socket.socket进程间通信套接字
Mount.mount文件系统挂载点
Timer.timer定时器(类似 cron)

3. 运行级别与 target 对应

运行级别Systemd target说明
0poweroff.target关机
1rescue.target单用户模式
3multi-user.target字符界面多用户模式
5graphical.target图形界面多用户模式
6reboot.target重启

4. systemctl 命令

# 服务控制
systemctl start 服务名    # 启动
systemctl stop 服务名     # 停止
systemctl restart 服务名  # 重启
systemctl reload 服务名   # 重载配置
systemctl status 服务名   # 查看状态# 开机自启管理
systemctl enable 服务名   # 开机自启
systemctl disable 服务名  # 关闭自启
systemctl is-enabled 服务名 # 查看自启状态# 运行级别管理
systemctl get-default     # 查看默认运行级别
systemctl set-default 目标 # 设置默认运行级别
http://www.dtcms.com/a/352983.html

相关文章:

  • SyntaxError: Failed to execute ‘open‘ on ‘XMLHttpRequest‘: Invalid URL
  • Mybatis总结
  • 织梦会员中心模板调用某个栏目名和栏目下文档的办法
  • 神经网络学习笔记11——高效卷积神经网络架构SqueezeNet
  • SCANeR Studio 仿真数据获取和车辆座舱数据输入-手自动驾驶切换(二)
  • 混合RAG架构:下一代企业级检索增强生成的融合之道
  • AI-Agent 深度科普:从概念到架构、应用与未来趋势
  • 【软考架构】软件架构复用的过程
  • 2025年- H100-Lc208--912.排序数组(快速选择排序)--Java版
  • k8s-容器化部署论坛和商城服务
  • 筑牢上线前安全防线:安全运维服务中的检测实践与深化
  • 【电路笔记 通信】子载波的频域Sinc函数证明 OFDM 正交子载波证明 绘图示例
  • Spring Cloud 高频面试题详解(含代码示例与深度解析)
  • AutoGen 智能体框架教程
  • THM Smol
  • leecode-三数之和
  • 广告牌安全监测系统综合解决方案
  • Python 前后端框架实战:从选型到搭建简易全栈应用
  • 6 种无需 iTunes 将照片从 iPhone 传输到电脑
  • Spark学习记录
  • 数据结构第8章 排序(竟成)
  • OpenFOAM中梯度场的复用(caching)和生命期管理
  • 【微信小程序】分别解决H5的跨域代理问题 和小程序正常不需要代理问题
  • 利用python脚本从dockerhub上下载镜像,可以选择arm架构还是x86架构
  • 福建地区通信安全员考试题库及答案
  • 基于FPGA的情绪感知系统设计方案:心理健康监测应用(四)
  • FPGA入门学习路径
  • Go变量作用域全解析
  • Zynq介绍和命名方式
  • FPGA学习笔记——Verilog中可综合和不可综合语句