查看静态的进程统计信息
方法一:ps aux
- a:显示终端上所有的进程,包括其他用户的进程
- u:列出进程的用户
- x:显示所有终端的进程
-
USER:进程的用户
-
PID:进程的id
-
%CPU:进程占用的cpu百分比
-
%MEM:占用内存的百分比
-
VSZ:该进程使用的虚拟内存量(KB)
-
RSS:该进程占用的物理内存量(KB)
-
TTY:启动进程的终端名(不是从终端启动的为?)
-
START:该进程被启动的时间
-
TIME:该进程实际使用cpu运行的时间
-
COMMAND:进程的启动命令
-
STAT:该进程的状态(5种)
D:不可被唤醒的休眠状态
R:运行状态
S:可被唤醒的休眠状态
T:停止状态,可能是在后台暂停或进程处于跟踪调试状态
Z:僵死状态,进程己经中止,但是部分程序还在内存当中 ,但其父进程无法正常中止它
方法二:ps -elf
-
-e:显示系统内的所有
-
-l:长格式显示
-
-f:完整格式显示
-
-a:显示所有进程pid
-
-T:查看线程信息
-
-aT:显示所有线路
-
F:内核分配给进程的系统标记
-
S:进程的状态
-
UID:启动这些进程的用户
-
PID:进程的进程ID
-
PPID:父进程的进程号(如果该进程是由另一个进程启动的)
-
C:进程生命周期中的cpu利用率
-
PRI:进程的优先级(越大的数字代表越低的优先级)
-
NI:谦让度值用来参与决定优先级
-
ADDR:进程的内存地址
-
SZ:假如进程被换出,所需交换空间的大致大小
-
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名
-
STIME:进程启动时的系统时间
-
TTY:进程启动时的终端设备
-
TIME:运行进程需要的累计cpu时间
-
CMD:进程的启动命令
动态查看进程统计信息
命令:top
- P键 (根据CPU使用百分比大小进行排序)
- M键 (根据驻留内存大小进行排序)
- N键 (根据启动时间进行排序)
- c键 (切换显示命令名称和完整命令行)
- h键 (可以获得top程序的在线帮助信息)
- q键 (退出top程序)
- 数字1键:显示cpu个数和状态
-H动态查看当前进程
第一行:任务队列信息
- top - 12:27:52(系统时间)
- up 1:48(系统已运行时长)
- 3 users(当前登录用户数)
- load average: 0.00,0.01,0.05(平均负载值)
第二行:系统进程信息
- Tasks(总进程数)
- running ( 正在运行的进程数)
- sleeping (休眠的进程数)
- stopped (中止的进程数 )
- zombie (僵死的进程数)
第三行: CPU占用信息
- us (用户占用)
- ni (优先级调度占用)
- id (空闲CPU,要了解空闲的CPU百分比,主要看%id部分)
- wa (I/o等待占用)
- hi (硬件中断占用)
- si (软件中断占用)
- st (虚拟化占用)
- sy (内核占用)
第四行:内存占用信息
- total (总空闲内存)
- free (空闲内存)
- used (己用内存)
- lbuff/cache (物理内存和交换内存的缓冲区总和)
第五行:交换空间(swap)占用信息
- total (总交换内存)
- free (空闲交换内存)
- used (已用交换内存)
- avail Mem (可用物理空间)
根据特定条件查询进程PID信息
命令:pgrep
- -l(显示进程名)
- -U(指定特定用户)
- -t(指定终端)
查看进程树
命令:pstreet
- -p:同时列出每个进程pid
- -a:显示处完整信息
- -u:列出对应用户名
控制进程
启动进程
- 前台启动:用户输入命令,直接执行程序
- 后台启动:在输入的命令后加上 & ,放入后台运行
调度进程
- Ctrl + Z 组合键: 将当前进程挂起,即调入后台并停止执行
- jobs [-l] :查看处于后台的任务列表,[显示PID号]
- fg <任务序列号>:指定任务序列号,将后台进程恢复到前台运行
终止进程
-
Ctrl + C 组合键 :中断正在执行的命令
-
kill :终止指定PID号对应的进程(-9 强制杀死进程,不加默认为15)
小tip: kill会默认传15代表的信号为SIGTERM,这是告诉进程你需要被关闭,请自行停止运行并退出,进程可以清理缓存自行结束,也可以拒绝结束。
kill -9代表的信号是SIGKILL,表示进程被终止,需要立即退出,强制杀死该进程,这个信号不能被捕获也不能被忽略。
-
killall <进程名>:终止与指定名称相关的所有进程
-
pkill [-U 用户名]:根据特定条件终止相应的进程 [根据进程所属用户名终止相关进程]
小tip: killall和pkill是相似的,不过如果给出的进程名不完整,killall会报错。pkill只要给出进程名的一部分就可以终止进程
计划任务管理
一次性计划
命令:at
at [HH:MM] [yyyy-mm-dd]----设置计划的时间
at>指定定时运行的命令------设置计划执行的命令
ctrl+d键-------提交计划、 atq-------查看未执行的任务列表
atrm(计划任务序号)-----删除指定的计划
周期性计划
crontab命令介绍
-
按照预先设置的时间周期(分钟,小时,天,月,周)重复执行用户指定的命令操作
-
属于周期性计划任务
主要设置文件
-
全局配置文件,位于文件: /etc/crontab(建议不要修改此文件)
-
系统默认的设置,位于目录: /etc/cron.*/
-
用户定义的设置,位于文件: /var/spool/cron/用户名
管理crontab计划任务
-
crontab -e [-u 用户名]---编辑计划任务
-
croutab -l [-u 用户名]---查看计划任务
-
croutab -r [-u 用户名]---删除计划任务
注:没有-u时默认是针对当前用户
时间数值的特殊表示方式
-
*:表示该范围的任意时间
-
,:分割多个布莱纳许的时间点
-
-:表示一个连续的时间范围
-
/:指定间隔的时间频率