进程管理
进程管理简介
正在运行的程序,任何程序运行都要耗费一定的系统资源
进程管理的作用
判断服务器健康状态
查看系统中所有进程
杀死进程
1、判断进程健康状态
top [选项]
- d : 秒数 指定top命令每隔几秒更新。默认是3秒
- b : 使用批处理模式输出。一般和"-n"选项合用
- n : 次数 指定top命令执行的次数。一般和"-b"选项和用
在top命令的交互模式当中可以执行的命令
?或h : 显示交互模式的帮助
P:以CPU使用率排序,默认就是此项
M : 以内存的使用率排序
N : 以PID排序
q : 退出top
2、查看系统所有进程
ps aux //查看系统中所有进程,使用BSD操作系统格式
USER //该进程是有哪个用户产成的
PID //进程的ID号
%CPU //该进程占用CPU资源的百分比,占用越高,进程越耗费资源
%MEM //该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ //该进程占用虚拟内存的大小,单位KB
RSS //该进程占用实际物理内存的大小,单位KB
TTY //该进程是在哪个终端运行的。其中tty1-tty6代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端
STAT //进程状态。常见状态
R:运行
S: 睡眠
T: 停止状态
s: 包含子进程
+: 位于后台
START //该进程的启动时间
TIME //该进程占用CPU的运算时间,注意不是系统时间
COMMAND //产生此进程的命令名
ps -le //查看系统中所有进程,使用Linux标准命令格式
- a : 显示一个终端的所有进程,除了会话引线
- u : 显示进程的归属用户及内存的使用情况
- x : 显示没有控制终端的进程
- l : 长格式显示。显示更加详细的信息
- e : 显示所有进程,和 -A作用一致
pstree -p //查看进程PID
-u //显示进程所属用户
3、杀死进程
kill -l
kill -hup 1487 //平滑重启PID 1487的服务
kill -1 1487 //平滑重启PID 1487的服务
killall [选项][信号] 进程号
- i 交互删除
- I 忽略进程名的大小写
pkill [选项][信号] 进程号
- p
pkill -9 -t pts/1
w 查看当前用户
4、进程优先级
nice [选项] 命令 //nice命令可以给新执行的命令直接赋予NI值,但是不能修改已经存在进程的NI值
- n NI值:给命令赋予NI值 (-20 - 19) 另只有root才能使用负值
例如
nice -n -5 service http start
renice [优先级] PID //renice命令是修改已经存在进程的NI值的命令
renice -10 1875
工作管理
1、把进程放入后台
tar -zcf etc.tar.gz /etc & //把命令放入后台,并在后台执行
top //按下ctrl+z快捷键,放在后台暂停
3、将后台暂停的工作恢复到前台执行
fg %工作号 //%可以省略
4、吧后台暂停的工作恢复到后台执行
bg %工作号 //后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行
后台命令脱离登录终端执行
nohup /root/for.sh &
系统资源查看
1、vmstat 监控系统资源
vmstat [刷新延时 刷新次数]
例如 vmstat 1 3
2、dmesg 检测内核
dmesg | grep cpu
3、free 命令查看内存使用状态
free [-b|-k|-m|-g]
- b 以字节为单位显示
- k 以kb为单位显示,默认就是以kb为单位显示
- m 以MB为单位显示
- g 以GB为单位显示
4、查看cpu信息
cat /proc/cpuinfo
5、uptime //显示系统的启动时间和平局负载,也就是top命令的第一行。w命令也可以看到这个数据
6、uname
uname [选项]
- a :查看系统所有信息
- r :查看内核版本
- s : 查看内核名称
7、列出进程打开或使用的文件信息
lsof [选项]
- c : 字符串,只列出字符串开头的进程打开的文件
- u : 用户名,只列出某个用户的进程打开的文件
- p : pid,列出某个PID进程打开的文件
lsof | more //查询系统中所有进程调用的文件
lsof /sbin/init //查询某个文件被哪个进程调用
lsof -c httpd //查看httpd进程调用了哪些文件
lsof -u root //按照用户名,查询某个用户的进程调用文件名
系统定时任务
at一次性定时任务
chkconfig --list | grep atd //at服务是否安装
service atd status //at服务的状态
at +5 minutes //五分钟后执行
atq //查询当前服务器上at工作
atrm [工作号] //删除指定的at任务
crontab循环定时任务
service crond restart
chkconfig crond on
crontab [选项]
- e 编辑crontab定时任务
- l 查询crontab任务
- r 删除当前用户所有的crontab任务
* * * * * echo "123" >> /home/lola>crontab.log
系统的crontab设置
vim /etc/crontab
* * * * * user-name command to be executed
anacron配置
这里写代码片