Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • Linux

    • 学习资源
    • 常用命令
    • 帮助信息查看
    • Linux开机、重启和用户登录注销
    • 用户管理
    • 实用指令
    • 组管理和权限管理
    • 定时任务调度
    • Linux 磁盘分区和挂载
    • Linux网络配置
    • 进程管理
      • 进程管理基础
      • 查看进程
        • ps 选项
        • ps -aux | more 翻页查看
        • ps -aux | grep "xxx" 过滤查看
        • ps -ef 全格式显示所有进程,可以查看父进程
        • ps -ef | grep xxx
      • 终止进程
      • 显示进程树
      • 服务管理
        • service 管理指令
        • systemctl
        • 服务的运行级别(runlevel)
        • chkconfig 指令
      • 动态监控进程
      • 监控网络状态
    • RPM和YUM软件管理
    • Linux服务器超级实用的Shell脚本
    • 文件解压缩
  • Git

  • ProgramNotes
  • Linux
Geeks_Z
2022-12-26
目录

进程管理

进程管理基础

  • 在 Linux 中,每个执行的程序/代码都称为一个进程。每个进程都分配一个 ID 号
  • 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如 www 服务器。
  • 每个进程都可能以两种方式存在。前台和后台。
    • 前台进程:用户目前的屏幕上可以进行操作的。
    • 后台进程:实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

查看进程

ps 选项

显示系统执行的进程

  • ps -a:显示当前终端的所有进程信息。
  • ps -u:以用户的格式显示进程信息。
  • ps -x:显示后台进程运行的参数。
  • ps -axu | grep xxx:过滤得到 xxx 的信息。
  • ps -ef:以全格式显示当前所有的进程,查看进程的父进程。
  • -e:显示所有进程。
  • -f:全格式。

ps -aux | more 翻页查看

字段 说明
USER 用户说明
PID 进程识别号
%CPU 进程占用 cpu 百分比
%MEM 进程占用物理内存百分比
VSZ 进程占用虚拟内存大小(KB)
RSS 进程占用物理内存大小(KB)
TTY 终端机号
STAT 进程状态,S 睡眠,s 代表是会话的先导进程,N 代表进程拥有比普通进程更高的优先级,R 正在运行,D 短期等待,Z 僵死进程,T 被跟踪或被停止
STARTED 进程启动的时间
TIME 此进程所消耗的 CPU 时间
COMMAND 正在执行的命令或进程名

ps -aux | grep "xxx" 过滤查看

ps -ef 全格式显示所有进程,可以查看父进程

BSD 展示风格

字段 说明
UID 用户 id
PID 进程 id
PPID 父进程
C CPU 用于执行优先级的因子,数值越大,表明 cpu 密集型运算,执行优先级会降低,数值越小,表明是 I/O 密集运算,执行优先级会提高
STIME 进程启动时间
TTY 终端机号
TIME 此进程所消耗的 CPU 时间
CMD 启动所用的命令和参数

ps -ef | grep xxx

终止进程

  • kill 选项 pid:杀死某个进程。

  • killall 进程名称:杀死进程及其子进程。

  • kill -9 pid:强制关闭 pid 进程。

显示进程树

查看进程树:pstree [选项]

  • -p:显示进程的 PID
  • -u:显示进程的所属用户

服务管理

服务(Service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql,sshd 防火墙等),因此我们又称为守护进程。

service 管理指令

service 管理指令:service 服务名 [start | stop | restart | reload | status] 在 CentOS7.0 之后,不再使用 service,而是 systemctl

  • 查看防火墙情况:
    • service iptables status
    • systemctl status firewalld(7.0 之后的版本)

systemctl

管理服务指令

  • ls -l /usr/lib/systemd/system/ | more:显示 systemctl 管理的服务名称。

  • systemctl list-unit-files | grep firewalld:查看防火墙开启还是关闭。

  • 关于防火墙的管理指令

    • 目的,打开防火墙的同时允许防火墙通过某些端口。

服务的运行级别(runlevel)

  • 查看或修改默认级别:vim /etc/inittab
  • 每个服务对应的每个运行级别都可以设置
  • systemctl get-default:默认运行级别

chkconfig 指令

chkconfig:可以给每个服务的各个运行级别设置自启动/关闭

查看 xxx 服务:chkconfig –list | grep xxx

  • 查看服务的状态:chkconfig 服务名 --list
  • 给服务的运行级别设置自启动:chkconfig –level 5 服务名 on/off
  • 要所有运行级别关闭或开启:chkconfig 服务名 on/off
  • chkconfig 重新设置后需要重新启动才能生效

动态监控进程

top 与 ps 相似,都是用来显示正在执行的进程,top 的不同之处在于 top 执行一段时间可以更新正在运行的进程

top [选项]

  • d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒。

  • i:使 top 不显示任何闲置或者僵死进程。

  • p:通过指定监控进程 ID 来仅仅监控某个进程的状态。

交互操作说明:

操作 功能
P 以 CPU 使用率排序,默认就是此项
M 以内存的使用率排序
N 以 PID 排序
q 退出 top
  • top:主要查看 cpu 和内存 men 占用量,以及是否有僵尸进程 zombie。

  • top 指令的交互

监控网络状态

netstat [选项]

  • -an:按一定顺序排列输出
  • -p:显示哪个进程在调用
  • -t: 显示 TCP 连接信息
  • -u: 显示 UDP 连接信息
  • -l: 仅显示监听状态的端口
  • -n: 使用数字格式显示端口号,而不是服务名
  • grep: 端口号: 使用 grep 命令过滤出指定的端口号信息

应用案例:

  • 查看端口号是否被占用:netstat -tuln | grep 80

  • 查看 sshd 的服务的信息:netstat -anp | grep sshd

  • 查看所有的网络服务:netstat -anp | more

1664243600270

1664243592788

#Linux
上次更新: 2025/06/25, 11:25:50
Linux网络配置
RPM和YUM软件管理

← Linux网络配置 RPM和YUM软件管理→

最近更新
01
帮助信息查看
06-08
02
常用命令
06-08
03
学习资源
06-07
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式