进程是正在执行的一个程序或者命令,每一个进程都是一个运行的实体,都有自己的地址空间,并且占用一定的系统资源。

ps 查看进程:

ps(process status) 用于查看当前系统进程状态。对于这两个进程,如果想查看进程的 CPU 占有率,就是用 aux;如果想查看进程的父进程 ID 可以使用 ef。
基本用法:

  • ps aux | grep xxx查看系统中所有进程
  • ps -ef | grep xxx可以查看子夫进程之间的关系 | 选项 | 功能描述 | | —- | —- | | a | 列出带有终端的所有用户的进程 | | x | 累出当前用户的所有进程,包括没有终端的进程 | | u | 面向用户友好的显示风格 | | -e | 列出所有进程 | | -u | 列出某个用户关联的所有进程 | | -f | 显示完整格式的进程列表 |

image.png

ps aux 显示信息说明
USER 该进程是由哪个用户产生的
PID 进程的 ID 号
%CPU 该进程占用 CPU 的资源百分比,占用越高,进程消耗的资源越多
%MEM 该进程占用物理内存的百分比,占用越高,进程消耗资源越多
VSZ 该进程占用虚拟内存的大小(KB)
RSS 该进程占用实际物理内存的大小(KB)
TTY 该进程是在哪个终端中运行的。对于 CentOS 来说:
- tty1 是图形化终端
- tty2-6 是本地的字符界面终端
- pts/0-255 代表虚拟终端
STAT 进程状态,常见状态为:
- R:运行状态
- S:睡眠状态
- T:暂停状态
- Z:僵尸状态
- s:包含子进程
- l:多线程
- +:前台显示
- <:优先级很高的进程
- N:优先级很低的进程
START 该进程启动时间
TIME 该进程占用 CPU 的运算时间,这并不是系统时间
COMMAND 产生此进程的命令名
ps -ef 显示信息说明
UID 用户 ID
PID 进程 ID
PPID 父进程
C CPU 用于计算执行优先级的因子。
- 数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;
- 数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME 进程启动的时间
TIY 完成的终端名称
TIME CPU 时间
CMD 启动进程所用的命令和参数

kill 终止进程:

使用 kill 终止一些进程。
基本使用方法:

  • kill [选项] 进程号通过进程号终止进程
  • killall 进程名称通过进程名称终止进程,也支持通配符,这在系统因负载过大而变得很慢时很有用 | 选项 | 功能描述 | | —- | —- | | -9 | 强迫进程立即停止 |

image.png


pstree 进程树:

pstree 查看当前进程树,可以很清晰的看到父子关系。
基本用法:pstree [选项]

选项 功能描述
-p 显示进程的 PID
-u 显示进程的所属用户

image.png
image.png
image.png


top 实时监控系统进程状态:

基本用法:top [选项]

选项说明
选项 功能描述
-d 秒数 指定 top 命令间每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中可以执行的命令
-i 使 top 不再显示任何限制或者僵死的进程
-p 通过知道那个架空进程 ID 来仅仅监控某个进程的状态
操作说明
shift + p 以 CPU 使用率排序,默认就是此选项
shift + M 以内存的使用率排序
shift + N 以 PID 排序
k 终止进程,终止时需要发送一个信号(9)
q 退出

image.png


netstat 网络端口状态:

netstat 用来显示网络状态和端口占用信息。
基本用法:

  • netstat -anp | grep 进程号查看进程网络信息
  • netstat -nlp | grep 端口号查看网络端口占用情况 | 选项 | 功能描述 | | —- | —- | | -a | 显示所有正在监听(listen)和为监听的套接字(socket) | | -n | 拒绝显示别名,能显示数字的全部转化为数字 | | -l | 仅列出在监听的服务状态 | | -p | 表示显示哪个进程在调用 |

image.png
image.png


crontab 系统定时任务

  • 启动 crontab 服务:systemctl restart crond
  • 定时任务设置:crontab [选项] | 选项 | 功能描述 | | —- | —- | | -e | 编辑 crontab 定时任务 | | -l | 查询过 crontab 任务 | | -r | 删除当前用户所有的 crontab 任务 |

当执行corntabl -e的时候,就会打开 VIM 来编辑对应的工作其中的格式是:* * * * * 执行的任务

项目 含义 范围
第一个“*” 一小时当中的第几分钟 0-59
第二个“*” 一天当中的第几小时 0-23
第三个“*” 一个月当中的第几天 1-31
第四个“*” 一年当中的第几月 1-12
第五个“*” 一周当中的星期几 0-7(0 和 7 都代表周日)
特殊字符 含义
* 代表时间,不同位置代表不同的时间
, 代表不连续的时间,比如“0 8,12,16 *”代表每天的 8点0分,12点0分和16点0分都执行一次该命令
- 代表连续的时间范围。比如“0 5 1-6”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次,比如“/10 *”,代表每隔 10 分钟就执行一遍命令