进程及服务管理
-
Linux进程介绍
- 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
- 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
- 每个进程都可能以两种方式存在的。前台 与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行[sshd , crond]。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
-
ps:查看系统进程
- ps -a:显示当前终端的所有进程信息
- ps -u:以用户的格式显示进程信息
- ps -x:显示后台进程运行的参数
-
ps –aux|grep [服务名]:查看进程
- System V展示风格
- USER:用户名称
- PID:进程号
- %CPU:进程占用CPU的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TTY:终端名称,缩写 .
- STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
- STARTED:进程的启动时间
- TIME:CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
-
ps -ef|grep [服务名]:查看进程的父进程
- 是BSD风格
- UID:用户ID
- PID:进程ID
- PPID:父进程ID
- C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
- STIME:进程启动的时间
- TTY:完整的终端名称
- TIME:CPU时间
- CMD:启动进程所用的命令和参数
-
kill、killall:终止进程
- kill [参数] 进程号(功能描述:通过进程号杀死进程 -9 强制终止)
- killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
-
**pstree **[参数]:查看进程树
- -p:显示进程的PID
- -u:显示进程的所属用户
-
service [服务名] [参数]:服务管理 //CentOS 7.0之后使用systemctl
- service 服务名 [start | stop | restart | reload | status]
- ls -l /etc/init.d/:查看服务名称
-
vi /etc/inittab 服务管理:
Linux系统有7种运行级别(runlevel):常用的是级别3和5- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
- 运行级别2:多用户状态(没有NFS),不支持网络
- 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登陆后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
-
chkconfig --list:开启/关闭各服务的运行级别
- chkconfig --list|grep [服务名]:查看服务
- chkconfig --level 5 sshd on/off:开启/关闭sshd服务的第5运行级别
- chkconfig iptables on/off :彻底关闭iptables服务
-
top[参数]:动态监控进程
参数 功能 -d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令: -i 使top不显示任何闲置或者僵死进程。 -p 通过指定监控进程ID来仅仅监控某个进程的状态。 交互操作:
操作 功能 P 以CPU使用率排序,默认就是此项 M 以内存的使用率排序 N 以PID排序 q 退出top top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”回车,再输入用户名,即可
k:然后输入“k”回车,再输入要结束的进程ID号
top -d 10:指定系统更新进程的时间为10秒 -
netstat [参数]:查看系统网络情况
- -an 按一定顺序排列输出
- -p 显示哪个进程在调用
netstat –anp:查看所有进程网络情况
netstat –anp|grep 22:查看占用22端口的进程网络情况
netstat –anp|grep sshd:查看占用sshd进程网络情况
16. RPM与YUM
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。
- rpm包:
-
rpm包的查询
- rpm -qa:查询所安装的所有rpm软件包
- rpm -qa | more:分页查询
- rpm -qa | grep [软件包名]:查询已经安装的包名
- rpm -q [软件包名]:查询软件包是否安装
- rpm -qi [软件包名]:查询软件包信息
- rpm -ql [软件包名]:查询软件包中的文件
- rpm -qf [文件全路径名]:查询文件所属的软件包
-
rpm包的卸载
- rpm -e [软件包名]:常规卸载
- rpm -e --nodeps [软件包名]:强制删除(慎用)
-
安装rpm包
- rom -ivh [RPM包绝对路径]:i=install、安装 v=verbose、提示 h=hash 进度条
- Yum包
- yum的基本指令
- yum list|grep [软件名]:查询yum服务器里的软件列表
- yum install [软件名]:下载安装