一、静态查看进程统计信息

1、ps aux:以简单的列表形式显示出进程信息

选项:a 显示当前终端下的所有进程信息,包括其他用户的进程

           u 使用以用户为主的格式输出进程信息

           x 显示当前用户在所有终端下的进程信息

USER:用户

PID:PID号

%CPU:CPU占用的百分比

%MEN:内存占用的百分比

VSZ:虚拟内存

RSS:物理内存

TTY:终端

STAT:进程当前的状态

START:

TIME:进程的CPU占用时间

COMMAND:进程的命令的相关信息

2、ps -elf:以长格式显示系统中的进程信息,包含更丰富的内容

选项:-e 显示系统内的所有的进程信息

           -l 使用长(long)格式显示进程信息

           -f 使用完整的(full)格式显示进程信息

3、ps:只显示当前用户会话中打开的进程

4、查看某个进程的详细信息

a、ps aux | grep+“进程名称”

b、ps -elf | grep+“进程名称”

补充:ps aux --no-header | more:去掉头部显示(统计行数时使用)

二、动态查看进程统计信息

1、top:在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存条等系统资源的占用情况,默认情况下三秒刷新一次,默认以CPU占用率排序。

选项:-d 指定刷新的时间间隔,单位秒

           -b 以批量处理模式操作,一般与-n同时使用

           -n 指定循环显示的次数

           -u 指定用户名

           -p 指定进程号

 2、常用交互命令(执行top后使用):P:根据CPU使用百分比大小进行排序

                                M:根据驻留内存大小进行排序

                                T:根据累计时间进行排序

                                k:终止一个进程

                                q:退出程序

                                 r:重新安排一个进程的优先级别

三、查看进程信息

1、pgrep:根据特定条件查询PID信息

选项:-l 显示进程名

          -U 指定特定用户

          -t 制定终端

2、pstree:进程树

选项:-a:显示完整信息

           -p:列出对应PID号

           -u:列出对应用户名

四、进程的启动方式

1、手工启动

(1)前台启动:用户输入命令,直接执行程序。特点是占用终端

(2)后台启动:在命令行尾加入“&”符号(若不让它占用终端,在开头添加nohup)

(3)程序的前后台调度

Ctrl+z:将当前进程挂起,即调入后台并停止执行

jobs:查看处于后台的任务列表,加-l同时显示PID号

fg:将后台的程序恢复到前台运行,可指定任务程序号

bg:将后台暂停的进程调至后台运行

(4)终止进程的运行

Ctrl+c:终端正在执行的命令

kill:用于终止指定PID号的进程

killall:用于终止指定名称的所有进程

-9:用于强制终止

pkill:根据特定条件终止响应的进程(杀死特定条件的进程)

选项:-U:根据进程所属的用户名终止相应进程

           -t:根据进程所在的终端终止相应的进程

2、调度启动

(1)at:设置一次性任务计划

服务脚本:/etc/init.d/atd

systemctl status atd:确保atd服务是开着的

格式:at [HH:MM] [yyy-mmm-dd]

操作:Ctrl+d 保存退出

           atq:查询现有的一次性任务计划

           atrm [任务序号]:删除第几项任务

(2)crontab:设置周期性计划任务

服务脚本:/etc/init.d/crond

systemctl status crond:查看crond有没有运行

全局配置文件:/etc/crontab

系统默认的设置:/etc/cron.*/

用户定义的设置:/var/spool/cron/+用户名

 (3)管理cron计划任务

编辑:crontab -e [-u 用户名]

查看:crontab -l [-u 用户名]

清空:crontab -u [-u 用户名](只有root用户可用)

(4)crontab任务配置的格式

分 时  日 月 周 +命令

时间数值的特殊表示方法:*  表示该范围内的任意时间

                                           ,表示间隔的多个不连续时间点

                                           -  表示一个连续的时间范围

                                           /  指定间隔的时间频率

例如:每五分钟同步一次时间

*/5      *  *  *  *  ntpdate pool.ntp.org(时间同步的命令)

每次改完执行:systemctl restart crontab

watch -n 3 'date' :每隔3秒更新一下时间