查看进程
程序和进程的关系
1.程序
- 它就是保存在硬盘,光盘的介质中的可执行代码和数据,利用程序软件编译出的完整命令叫做程序。是文件中静态保存的代码。
2.进程
- linux内核加载的第一个进程是/sbin/init,它是所有进程的父进程。进程主要是在cpu以及内存中运行的程序代码,它是动态执行的代码。
3.查看进程信息
- 查看静态的进程统计信息
- ps命令
ps -aux
a:显示终端上的所有进程,包括其他用户的进程
u:表示列出进程的用户
x:显示所有终端的进程
ps -elf
-e:显示系统额你的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息
-
ps -aux 各列解释
-
ps -elf 各列名词解释
-
加上| grep,可以进行筛选程序是否已经运行。
ps -elf | grep httpd
筛选httpd的状态
4,查看动态的进程排名信息
- top命令
这条程序相对简洁,但是它包含的内容还是比较多的。
top
P:根据CPU使用百分比大小进行排序
M:根据驻留内存大小进行排序
N:根据启动时间进行排序
c:切换显示命令名称和完整命令行
h:可以获得top程序的在线帮助信息
k:根据提示输入指定进程的PID号并按Enter键终止对应的进程
q:退出CPU个数和状态
1:显示CPU个数和状态
第一行 任务队列信息
- 14:47:03 代表系统时间
- up 1 day, 21:55 代表系统已运行时长
- 2 user 代表当前登录的用户数
- load average:0.00 0.01 0.05 代表系统负载,即单位时间内系统处理的任务数,0.00,0.01,0.05 分别为1分钟,五分钟,15分钟前到现在的平均值
第二行 进程信息
- Tasks 总进程数
- running 正在运行的进程数
- sleeping 休眠的进程数
- zombie 僵死的进程数
第三行 CPU的信息
- us 用户占用
- sy 内核占用
- ni 优先级调度占用
- id 空闲CPU,要了解空闲的CPU百分比,主要看%id部分
- wa I/O等待占用
- hi 硬件中断占用
- si 软件中断占用
- st 虚拟化占用
第四行 内存的信息
- total 总内存空间
- free 空闲内存
- used 已用内存
- buff/cache 物理内存和交换内存的缓冲区总和
第五行 交换空间的信息
- total 总交换空间
- free 空闲交换空间
- used 已用交换空间
- avail mem 可用物理空间
5,查看进程信息
- pgrep命令
这个命令是根据特定的条件来查询进程PID信息的。
pgrep -l
-l:显示进程名
缺省表示只显示进程号
-U:指定特定用户
-t:指定终端
6,查看进程树
- 以树形结构列出进程信息
用树形结构显示出来的进程,能够更直观的发现我们所需要的信息。
pstree -aup
-a:显示完整信息
-u:列出对应用户名
-p:列出对应pld号
进程的启动方式
1,方式
分为手动启动和调度启动。
(1):手动启动又分为前台启动和后台启动。
- 前台启动:用户输入命令,直接执行程序
- 后台启动:在命令行尾加入“&”符号(放在后台的原因是因为有些程序比较大,可能跑不完,所以要放在后台运行,这样能够同时进行其他操作。)
(2):调度启动可以使用at命令和crontab命令
- 使用at命令,设置一次性计划任务
- 使用crontab命令,设置周期性计划任务
2,进程的前后台调度
-
Ctrl + z
将当前进程挂起,即调入后台并停止执行 -
jobs命令
jobs -l 查看处于后台的任务列表
-
fg命令
将后台进程恢复到前台运行,可只当任务序号。
3,终止进程的运行
- Ctrl + C组合键
中断正在执行的命令
kill,killall命令
-
kii 用于终止指定PLD号的进程
-
killall用于终止指定名称相关的所有进程
-
-9选项用于强制终止
4,pkill命令
- 根据特定条件终止相应的进程
pkill -l -U "进程"
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
5,计划任务管理at
- at命令
一次性计划任务
}
at [HH:MM] [yyyy-mm-dd]
不加[]默认使用当前时间
atq:检查未执行的命令
atrm(1):删除(第一条)任务
6,计划任务管理crontab
-
crontab命令
按照预先设置的时间周期(分时日月周)重复执行用户指定的命令操作
属于周期性任务 -
管理crontab计划任务
编辑计划任务
crontab -e [-u 用户名]
查看计划任务
crontab -l [-u 用户名]
删除计划任务
crontab -r [-u 用户名]
- crontab任务配置的格式
50 3 2 1 * ls
分钟 小时 日期 月份 星期 命令文件
字段 | 说明 |
---|---|
分钟 | 取值为从0到59之间的任意整数 |
小时 | 取值为从0到23之间的任意整数 |
日期 | 取值为从1到31之间的任意整数 |
月份 | 取值为从1到12之间的任意整数 |
星期 | 取值为从0到7之间的任意整数,0或7代表星期日 |
命令 | 要执行的脚本或程序脚本 |
时间数值都有一些特殊的表示方法:
- “ * ”表示该范围内的任意时间
- ","表示间隔的多个不连续时间点
- “-” 表示一个连续的时间范围
- “/” 指定间隔的时间频率
补充知识
1.>重定向,会覆盖之前的内容。
2.>>追加内容,但不覆盖。