进程是正在执行的一个程序或者命令,每一个进程都是一个运行的实体,都有自己的地址空间,并且占用一定的系统资源。
ps 查看进程:
ps(process status) 用于查看当前系统进程状态。对于这两个进程,如果想查看进程的 CPU 占有率,就是用 aux;如果想查看进程的父进程 ID 可以使用 ef。
基本用法:
ps aux | grep xxx
查看系统中所有进程ps -ef | grep xxx
可以查看子夫进程之间的关系 | 选项 | 功能描述 | | —- | —- | | a | 列出带有终端的所有用户的进程 | | x | 累出当前用户的所有进程,包括没有终端的进程 | | u | 面向用户友好的显示风格 | | -e | 列出所有进程 | | -u | 列出某个用户关联的所有进程 | | -f | 显示完整格式的进程列表 |
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 | 强迫进程立即停止 |
pstree 进程树:
pstree 查看当前进程树,可以很清晰的看到父子关系。
基本用法:pstree [选项]
选项 | 功能描述 |
---|---|
-p | 显示进程的 PID |
-u | 显示进程的所属用户 |
top 实时监控系统进程状态:
基本用法:top [选项]
选项说明 | |
---|---|
选项 | 功能描述 |
-d 秒数 | 指定 top 命令间每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中可以执行的命令 |
-i | 使 top 不再显示任何限制或者僵死的进程 |
-p | 通过知道那个架空进程 ID 来仅仅监控某个进程的状态 |
操作说明 | |
shift + p | 以 CPU 使用率排序,默认就是此选项 |
shift + M | 以内存的使用率排序 |
shift + N | 以 PID 排序 |
k | 终止进程,终止时需要发送一个信号(9) |
q | 退出 |
netstat 网络端口状态:
netstat 用来显示网络状态和端口占用信息。
基本用法:
netstat -anp | grep 进程号
查看进程网络信息netstat -nlp | grep 端口号
查看网络端口占用情况 | 选项 | 功能描述 | | —- | —- | | -a | 显示所有正在监听(listen)和为监听的套接字(socket) | | -n | 拒绝显示别名,能显示数字的全部转化为数字 | | -l | 仅列出在监听的服务状态 | | -p | 表示显示哪个进程在调用 |
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 分钟就执行一遍命令 |