进程管理三个主要任务:
判断服务器健康状态
查看所有正在运行的进程
强制终止进程
一 进程查看
1 ps aux 查看当前系统所有运行的进程
-a 显示前台所有进程
-u 显示用户名
-x 显示后台进程
user: 用户名
pid: 进程id。PID 1 init 系统启动的第一个进程
%CPU cpu占用百分比
%MEM 内存占用百分比
VSZ 虚拟内存占用量 KB
RSS 固定内存占有量
tty 登录终端 alt+F1-F7
stat 状态 S:睡眠 D:不可唤醒 R:运行 T:停止 Z:僵死 W:进入内存交换 X:死掉的进程 <:高优先级 N:低优先级 L:被锁进内存 s:含子进程 +:位于后台 l:多线程
start 进程触发时间
time 占用cpu时间
command 进程本身
tty1 本地终端
pts/2 网络终端
2 pstree 查看进程树
3 top
第一行: 系统当前时间 系统持续时间 登录用户 1,5,15分钟之前的平均负载
第二行:进程总数
第三行:CPU占用率 %id 空闲百分比
第四行:内存使用: 总共 使用 空闲 缓存
第五航:swap使用
操作命令 M 内存排序
P CPU排序
q 退出
4 进程管理 终止进程
ps aux 组合使用
kill PID 结束单个进程 结束进程
-9 强制
pstree
killall -9 进程名 结束一类进程
pkill -9 进程名
w 判断登录用户
pkill -9 -t 终端号 把某个终端登录的用户踢出
pkill -9 -t tty1 把本地登录终端1登录用户踢出
二 linux服务管理
分类
1)系统默认安装的服务
2)源码包安装的服务
(一)系统默认安装的服务
1 确定服务分类
chkconfig --list 查看服务的自启动状态
运行级别:0-6
0 关机
1 单用户模式
2 不完全多用户,不包含NFS服务 无网络登录
3 完全多用户 字符界面
4 未分配
5 图形界面
6 重启
init 0 关机
init 6 重启
runlevel 查询系统当前运行级别
vi /etc/inittab
id:3:initdefault: 定义系统默认运行级别(注意不能设置0,6会开不了机的哦!)
2 独立的服务器管理
1)启动
①
/etc/rc.d/init.d/服务名 start|stop|restart|status
/etc/rc.d/init.d/httpd start
②
service 服务名 start|stop|restart|status
2)自启动
①
chkconfig --level 2345 服务名 on|off
②
vi /etc/rc.local---->/etc/rc.d/rc.local
/etc/rc.d/init.d/httpd start
3 ntsysv
所有系统默认安装服务都可以使用ntsysv命令进行自启动管理
(二)源码包安装的服务
1源码包安装的服务
1)绝对路径启动
/usr/local/apache2/bin/apachectl start
2)自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
总结:
服务管理:
RPM包安装服务
启动:
/etc/rc.d/init.d/服务名 start
service 服务名 start
自启动:
chkconfig --level 2345 服务名 on|off
vi /etc/rc.local 推荐
/etc/rc.d/init.d/httpd start
源码包服务
启动
/usr/local/服务名/bin/服务名二进制执行文件 start
自启动
vi /etc/rc.local
/usr/local/apache2/bin/apachectl start
附:配置IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0c:29:2f:3f:93
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID="84f603e1-5374-472b-b8dc-7ef3a8d8f683"
IPADDR=192.168.149.132
NETMASK=255.255.255.0
GATEWAY=192.168.149.1
DNS1=114.114.114.114
IPV6INIT=no
USERCTL=no