进程管理:
进程是已经启动的可执行程序的运行实例,进程有以下组成部分:
已分配内存的地址空间;安全属性;程序代码的一个或多个执行进程
多个线程可以构成一个进程,多个进程构成一个程序;进程状态
程序:
二进制文件,例如:/usr/sbin/httpd,
进程:
程序运行的过程,是动态的,有生命周期及运行状态
区别:
进程不是程序,虽然它由程序产生,程序只是一个静态的命令集合
而进程是一个随时都能发生变化的,动态的,使用系统运行资源的
程序,而一个程序可以启动多个进程
查看进程:
ps -aux //查看所有进程
ps -aux | grep httpd //查看制定的一个进程,如:httpd
备注:
-u //显示进程的详细信息,包括CPU和内存的使用率
-a //显示终端上的所有进程,包括其他用户的进程
-x //显示没有控制终端的进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程所有者 进程号 占用CPU使用率 占用的内存使用率 占用的虚拟内存大小 占用的内存大小 终端次设备号码 进程状态 进程开始时间 执行时间 所执行的命令
备注:STAT表示该进程状态:
D //不可休眠状态(通常表示该进程正在I/O动作)
R //正在执行中
S //休眠状态
T //暂停状态
Z //不存在但暂时无法删除
W //没有足够的内存分页可分配
< //高优先顺序的进程;
N //低优先顺序的进程
L //有内存分页分配并锁在内存内
查找到当前正在运行的进程并列出符合条件的进程ID:
pgrep -u root sshd //查看指定用户指定进程sshd的PID号
pgrep sshd //指定进程为sshd
pidof sshd //指定进程为sshd
pstree //查看进程树
动态查看进程top:
top -u user1 //查看用户user1的进程
top -b -n 2 > top.txt //将2次top信息写入到万恶见
备注:-n 2表示两次更新后退出,-b表示批量处理模式显示程序信息
linux中三大进程:
1.init
2.login
3.shell
信号控制进程:
kill -l //列出所有支持信号
语法:
kill -n PID
选项:
1 //挂起
2 //中断
3 //退出信号
9 //强制杀死
15 //kill默认终止信号
17 //子进程终止或停止
实例:
useradd u1
su -u1
su root
ps -aux //查看u1进程(一个是u1本身,一个为bash进程,想删除用户必须把两个进程杀死后才能删除)
kill -9 PID
实例:
useradd u1
su -u1
ps -aux //删除一个u1进程就可删除
kill -9 PID
软件包概述:
rpm包 //用rpm/yum安装
二进制包 //名字很长,解压后可以使用,不用安装
源码包 //源码格式仅仅就是一个版本的tar包
源码包安装步骤:
1.解压 2. ./configure 3. make 4. make install
./configure //检查环境变量及配置编译选项
make //将源码编译成二进制文件
make install //将编译好的文件安装到指定位置
rpm包默认安装路径:
/etc/ //配置文件安装目录
/usr/bin //可执行的命令安装目录
/usr/lib //程序所使用的函数库保存位置
/usr/share/doc/ //基本软件使用手册保存位置
/usr/share/man/ //帮助文件保存位置
源码安装在指定位置中:
/usr/local/软件名/
挂载操作:
mount d
rpm包安装:
rpm -ivh 软件包名
软件包升级基本命令:
rpm -Uvh 包文件名
参数说明:
-i //安装软件
-v //表示在安装过程中显示安装的详细信息
-h //显示水平进度条
-U //升级安装
-e //表示删除
-a //显示所有软件包
--nomd5 //不检验软件包的签名
--force //强制安装软件包
--nodeps //忽略依赖关系
rpm软件包的卸载:
rpm -e rpm软件包名
例如:rpm -e mtfs-3g --nodeps
rpm软件的查询:
rpm -qa 包名
实例:
rpm -qa | wc -l //统计软件包的安装个数
yum:
相较于rpm -ivh 来说能自动解决软件包的依赖关系,一次性下载
操作指令:
yum clean all //清空缓存指令及其他文件
yum makecache //清空缓存
yum repolist //查询可用的源
yum list mysql-server //查询包是否安装
yum info mysql //查询包的信息
yum search mysql //查询包名和描述中带有mysql的包
yum provides php //查询指定的文件属于哪个包,没有安装也可以查询
yum -y install mysql-server //安装包
yum -y install https://www... //指定网站下载包并安装
yum -y reinstall mysql-server //重新安装
yum -y remove mysql-server //卸载包
自建YUM源的步骤:
1.进入源的路径
vim /etc/yum.repos.d/ //定义源的路径
2.创建源文件
vim /etc/yum.repos.d/centos7.repo //创建
3.编辑源文件的内容
centos7.repo文件内容如下:
name=centos7 //仓库名,自定义
[centos7] //仓库ID,自定义
baseurl=ftp://172.16.8.100/centos6.6 //指向源的路经
baseurl=http://www.aly.com
baseurl=file:///cdrom/
备注:三个协议按照需求只能写一个!!!
enable=1 //等于1表示启用,没有写也表示启用;等于0代表禁用
gpgcheck=0 //是否检查软件包的签名,1检查,0不检查
yum repolist //列出当前yum资源库
yum clean all //清除yum源的缓存
本地源(例如使用光盘):
挂载安装光盘:
mkdir /cdrom
mount /dev/cdrom /cdrom //挂载光驱
mount -o loop cenyos6u6.iso /cdrom //挂载
ISO镜像文件:
vim /etc/yum.repos.d/cdrom.repo
[cdrom]
name=cdrom
baseurl=file://cdrom //使用file协议访问,也就是使用本机电目录访问
enable=1
gpgcheck=0 //签名检查
yum拓展知识:
yum的配置文件 /etc/yum.conf
缓存信息:
keepcache=1
保存在/var/cache/yum
安装包,测试缓存:
yum -y install nginx