Linux的进程管理

这篇博客详细介绍了Linux的进程管理基础知识,包括进程概念、类型、状态以及常用工具的使用,如ps、pstree、top、htop、free、vmstat等。通过实例演示了如何查看和管理进程,如查看进程状态、根据特定条件筛选进程、实时监控系统资源等,帮助读者掌握Linux系统下的进程操作技巧。
摘要由CSDN通过智能技术生成

本章介绍一些linux进程管理基础知识和一些常用的工具

Linux进程的概念,这个一定要和程序区别开来:

Process: 是运行中的程序的一个副本,是被载入内存的一个指令集合。进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限,这些属性通常从执行进程的用户来继承,并且进程存在生命周期

centos linux第一个进程通常是init或者systemd,它是所有进程的父进程,ID为1
其他进程都是由父进程创建。
进程类型:
守护进程: daemon,在系统引导过程中启动的进程,和终端无关进程
前台进程:跟终端相关,通过终端启动的进程 注意:两者可相互转化
进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:stopped,暂停于内存,但不会被调度,除非手动启动
僵死态:zombie,结束进程,父进程结束前,子进程不关闭

Linux系统状态的查看及管理工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup
这里挑选几个常用好用的工具来介绍。

pstree 以树形结构显示左右进程,特别是它能显示进程间的父子关系
-p 同时显示进程号

[root@centos7 13:48:49 ~]#pstree -p
systemd(1)─┬─ModemManager(676)─┬─{ModemManager}(696)
           │                   └─{ModemManager}(711)
           ├─NetworkManager(666)─┬─{NetworkManager}(723)
           │                     └─{NetworkManager}(728)
           ├─VGAuthService(648)
           ├─abrt-dbus(1762)─┬─{abrt-dbus}(1763)
           │                 └─{abrt-dbus}(1765)
           ├─abrt-watch-log(657)
           ├─abrt-watch-log(673)
           ├─abrtd(656)
           ├─agetty(1128)
           ├─alsactl(677)
           ├─atd(1013)
           ├─auditd(623)─┬─audispd(625)─┬─sedispatch(627)
           │             │              └─{audispd}(628)
           │             └─{auditd}(624)
           ├─avahi-daemon(667)───avahi-daemon(697)
           ├─bluetoothd(653)
           ├─crond(1015)
           ├─cupsd(1002)
           ├─dbus-daemon(649)
           ├─gssproxy(678)─┬─{gssproxy}(689)
           │               ├─{gssproxy}(690)
           │               ├─{gssproxy}(691)
           │               ├─{gssproxy}(692)
           │               └─{gssproxy}(693)
           ├─httpd(1007)─┬─httpd(1117)
           │             ├─httpd(1118)
           │             ├─httpd(1119)
           │             ├─httpd(1120)
           │             └─httpd(1121)
           ├─irqbalance(675)
           ├─ksmtuned(705)───sleep(1811)
           ├─lsmd(650)
           ├─lvmetad(420)
           ├─master(1114)─┬─pickup(1115)
           │              └─qmgr(1116)
           ├─mcelog(722)
           ├─polkitd(654)─┬─{polkitd}(719)
           │              ├─{polkitd}(720)
           │              ├─{polkitd}(721)
           │              ├─{polkitd}(726)
           │              └─{polkitd}(730)
           ├─rngd(665)
           ├─rsyslogd(671)─┬─{rsyslogd}(695)
           │               └─{rsyslogd}(703)
           ├─smartd(662)
           ├─sshd(999)─┬─sshd(1133)───bash(1139)─┬─glances(1239)
           │           │                         └─pstree(1813)
           │           └─sshd(1742)───bash(1744)───man(1786)───less(1797)
           ├─systemd-journal(397)
           ├─systemd-logind(664)
           ├─systemd-udevd(424)
           ├─tuned(998)─┬─{tuned}(1059)
           │            ├─{tuned}(1060)
           │            ├─{tuned}(1061)
           │            └─{tuned}(1062)
           └─vmtoolsd(669)

ps 命令
ps [options]
它支持三种风格的选项:
 UNIX选项 如-A -e
BSD选项 如a
GNU选项 如--help

BSD选项:
默认显示当前终端中的进程
• a 选项包括所有终端中的进程
• x 选项包括不链接终端的进程
• u 选项显示进程所有者的信息
• f 选项显示进程树,相当于 --forest
• k|--sort 属性 对属性排序,属性前加- 表示倒序
• o 属性… 选项显示定制的信息 pid、cmd、%cpu、%mem
• L 显示支持的属性列表
常用组合:
ps axu 显示左右进程

ps k 属性 o 属性,属性...
例如࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值