linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

Linux 进程管理

  • 1. 进程基础
    • 1.1 进程概念
    • 1.2 查看进程
  • 2. 进程控制
    • 2.1 启动进程
    • 2.2 停止进程
    • 2.3 进程状态控制
  • 3. 进程监控
    • 3.1 资源使用
    • 3.2 进程跟踪
  • 4. 进程优先级
    • 4.1 nice 值调整
    • 4.2 实时优先级
  • 5. 守护进程
    • 5.1 systemd 服务
    • 5.2 服务管理
  • 6. 进程通信
    • 6.1 信号
    • 6.2 管道和重定向
  • 7. 性能优化
    • 7.1 资源限制
    • 7.2 进程 CPU 绑定

1. 进程基础

1.1 进程概念

  • PID (进程ID)
  • PPID (父进程ID)
  • 进程状态 (运行、睡眠、停止等)
  • 进程优先级
  • 资源使用情况

1.2 查看进程

# 查看所有进程
ps aux

# 实时进程监控
top

# 树形显示进程
pstree

# 查看特定进程
ps -fp PID

2. 进程控制

2.1 启动进程

# 前台启动
command

# 后台启动
command &

# nohup 启动
nohup command &

2.2 停止进程

# 正常终止
kill PID

# 强制终止
kill -9 PID

# 终止进程组
killall process_name

2.3 进程状态控制

# 暂停进程
kill -STOP PID

# 继续进程
kill -CONT PID

# 重新加载配置
kill -HUP PID

3. 进程监控

3.1 资源使用

# CPU 使用率
top -p PID

# 内存使用
free -h
vmstat 1

# IO 使用
iotop

3.2 进程跟踪

# 系统调用跟踪
strace command

# 库函数跟踪
ltrace command

# 文件访问跟踪
lsof -p PID

4. 进程优先级

4.1 nice 值调整

# 启动时设置优先级
nice -n 10 command

# 修改运行中的进程优先级
renice 10 -p PID

4.2 实时优先级

# 设置实时优先级
chrt -f 99 command

# 查看进程优先级
chrt -p PID

5. 守护进程

5.1 systemd 服务

# 创建服务文件
vim /etc/systemd/system/myservice.service

# 启动服务
systemctl start myservice

# 开机自启
systemctl enable myservice

# 查看服务状态
systemctl status myservice

5.2 服务管理

# 重启服务
systemctl restart myservice

# 重新加载配置
systemctl reload myservice

# 停止服务
systemctl stop myservice

6. 进程通信

6.1 信号

# 发送信号
kill -SIGTERM PID

# 查看所有信号
kill -l

6.2 管道和重定向

# 管道
command1 | command2

# 输出重定向
command > file.txt
command >> file.txt

# 错误重定向
command 2> error.log

7. 性能优化

7.1 资源限制

# 设置资源限制
ulimit -n 65535  # 文件描述符
ulimit -u 2048   # 进程数

# 进程资源控制
cpulimit -p PID -l 50  # CPU 限制

7.2 进程 CPU 绑定

# CPU 绑定
taskset -pc 0,1 PID

# 内存策略
numactl --cpunodebind=0 command