进程管理
1.进程的查看
1)ps命令
-
选项
- -a:显示一个终端的所有进程
- -u:显示进程的归属用户及内存的使用情况
- -x:显示没有控制终端的进程
- -l 长格式显示。显示更加详细的信息
- -e:显示所有进程 例子
- ps aux: 查看系统所有进程,使用BSD操作系统格式
- ps -le: 查看系统所有进程,使用linux标准命令格式
ps命令输出
标示 | 含义 |
---|---|
USER | 该进程是由哪个用户产生的 |
PID | 进程的ID号 |
%CPU | 改进程占用的CPU资源百分比 |
%MEM | 该进程占用的物理内存百分比 |
VSZ | 该进程占用虚拟内存的大小,单位KB |
RSS | 该进程占用实际物理内存的大小,单位KB |
TTY | 该进程在哪个终端运行的。tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形界面终端。pts/0-255代表虚拟终端。?表示内核直接启动 |
STAT | 进程状态(R:运行,S:睡眠,T:停止,s:包含子进程,+:位于后台,Z:僵尸进程,<:优先级高的进程,N:优先级低的进程,L:有些页被锁进程,) |
START | 改进程的启动时间 |
TIME | 改进程占用的系统运算时间 |
COMMAND | 产生此进程的命令名 |
2)pstree命令
-
选项
- -p:显示进程pid
- -u:显示进程用户
3)top命令
-
选项
- -d 秒数:指定top命令每隔几秒更新.默认是3秒
- -b:使用批处理命令输出。一般和”-n”选项合用
- -n 次数:指定top命令执行的次数
- ?或h:显示交互模式的帮助
- P:以CPU使用率排序
- M:以内存的使用率排序
- N:以PID排序
top命令输出
第一行
内容 | 说明 |
---|---|
00:41:38 | 系统当前时间 |
1:28 | 系统的运行时间 |
2 users | 当前登陆了两个用户 |
load average: 0.00 , 0.00 ,0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载, |
Tasks:95 total | 系统中的进程总数 |
第二行
内容 | 说明 |
---|---|
1 running | 正在运行的进程数 |
94 sleeping | 睡眠的进程 |
0 stopped | 正在停止的进程 |
0 zombie | 僵尸进程 |
第三行为CPU相关
内容 | 说明 |
---|---|
Cpu(s):0.1%us | 用户模式占用的CPU百分百 |
0.1%sy | 系统模式占用 |
0.0%ni | 改变过优先级的用户进程占用的CPU百分比 |
99.7%id | 空闲的百分比 |
0.1%wa | 等待输入输出的进程占用的百分比 |
0.1%hi | 硬中断请求服务占用的进程百分比 |
0.1%si | 软中断请求服务占用的百分比 |
0.0%st | st虚拟时间百分比,虚拟CPU等待时机CPU的时间百分比 |
第四行为磁盘相关
第五行为交换分区相关
2)杀死进程
-
kill命令
- kill -信号量 PID:杀死单个进程(1:平滑重启,9:强制杀死进程) killall [选项][信号] 进程名
- -i:交互式,询问是否要杀死进程
- -I:忽略进程名的大小写
2.linux工作管理
1)把进程放入后台
-
方法:
- 在命令后面加入 &
- 在命令运行时加上ctrl+z
2)查看后台命令
jobs -l:列出后台工作和对应的PID
注: “+”号代表最近一个放入后台的工作,也是工作恢工默认恢复的工作,“-”号代表倒数第二个放入后台的工作
3)将后台暂停的工作恢复到前台执行
fg %工作号
4)后台脱机登陆终端执行的方法
-
方法:
- 把需要后台执行的命令加入/etc/rc.local文件
-
使用系统定时任务
:使用nohup命令
3系统资源查看
1)通过vmstat查看系统资源
vimstat [刷新间隔 刷新次数]
内容 | 说明 |
---|---|
proces | 进程信息字段 r:等待运行的进程数 b:不可被唤醒的进程数 |
memory | 内存信息字段 swpd:虚拟内存 free:空闲内存 buff:缓冲内 cache:缓冲内存 |
swap | 交换分区信息字段 si:从磁盘到内存种数据的数量 so:从内存中交换到磁盘中的数据的数量 |
io | bi:从块设备读入数据的总量 bo:写到块设备的数据总量 |
system | in:每秒被中断的进程次数 cs:每秒钟进行的时间切换次数 |
CPU | cpu信息字段 us:非内核进程消耗CPU运算时间的百分比 sy:内核进程消耗CPU运算时间的百分比 id:空闲CPU的百分比wa:等待I/O所消耗的CPU百分比 st:被虚拟机所盗用的CPU百分比 |
2)dmsg开机时内核检测信息
3)free [-b|-k|-m|-g]显示内存
4)/proc/cpuinfo中保存cpu信息
5)uptime查看当前时间
6)uname查看系统与内核相关信息
4.定时任务
1)at一次执行
-
at的访问控制:
- 如果系统中有/etc/at.allow文件,那么写入/etc/at.allow文件中的用户(白名单)中的用户可以使用at命令
- 如果系统中没有/etc/at.allow文件,只有/etc/at.deny文件,那么写入/etc/at.deny文件(黑名单)中的用户不能使用at命令。对root不起作用
- 如果系统中两个文件都不存在,那么只有root用户可以使用 at [选项] 时间 选项:
- -m当at工作完成执行后,无论是否命令有输出,都用email通知执行at命令的用户
- -c 工作号:显示该at工作的实际内容 相关命令:
- atq:查询当前服务器上的at工作
- atrm [工作号]:删除指定的at任务
2)crontab循环定时任务
cron访问控制:
文件为/etc/cron.allow和/etc/cron.deny,机制和at一样
执行操作:
crontab -e:进入crontab编辑界面
编辑格式: * * * * * 执行的任务
项目 | 含义 | 范围 |
---|---|---|
第一个 * | 一小时中的第几分钟 | 0-59 |
第二个 * | 一天中的第几个小时 | 0-23 |
第三个 * | 一个月中的第几天 | 1-31 |
第四个 * | 一年中的第几月 | 1-12 |
第五个 * | 一周中的星期几 | 0-7(0和7都代表星期日) |
* | 代表任意时间 | |
, | 代表不连续时间 。比如0 0 8,12,16 * * * 代表在8点0分,12点0分,16点0分执行 | |
- | 代表连续时间 “0 5 * * 1-6 命令 “代表周一到周六的凌晨5点0分执行命令 | |
*/n | 代表每隔多久执行一次 。” * /10 * * * * 命令”代表没隔10分钟执行一次命令 |
crontab -l :查看root用户的crontab任务
crontab -r:删除root用户所有的定时任务