一、静态查看进程统计信息
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秒更新一下时间