1.在Linux中,每个执行的程序都称为一个进程。每个进程都分配一个id号(pid,进程号) 2.每个进程都可能以两种方式存在。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。 3。一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束。
基本介绍
ps
指令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数。
pid
进程识别号
tty
终端机号
time
进程所消耗CPU时间
cmd
正在执行的命令或者进程名
ps -a
功能:显示当前终端的所有进程信息
ps -u
功能:以用户的格式显示进程信息
ps -x
功能:显示后台进程运行的参数
ps详解
指令: ps -aux | grep sshd
功能:查看有没有sshd服务
指令说明:
System V 展示风格
USER : 用户名称
PID : 进程号
%CPU : 进程占用cpu的百分比
%MEM : 进程占用物理内存的百分比
VSZ : 进程占用的虚拟内存大小(单位:kb)
RSS : 进程占用的物理内存大小(单位:kb)
TT : 终端名称,缩写
STAT : 进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-表示正在运行,Z-表示僵死进程,D-表示短期等待,T-表示被跟踪或者被停止
STARTED :进程的启动时间
TIME : CPU时间,即进程使用CPU的总时间
COMMAND :启动进程所用的命令和参数,过长会被截断显示
应用实例
要求: 以全格式显示当前的所有进程,查看进程的父进程。
ps -ef
是以全格式显示当前的所有进程
-e
显示所有进程
-f
全格式
ps -ef |grep xxx
是BSD风格
UID : 用户ID
PID : 进程ID
PPID : 父进程ID
C : CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
STIME :进程启动的时间
TTY : 完整的终端名称
TIME : CPU时间
CMD : 启动进程所用的命令和参数
介绍
若是某个进程执行一半需要停止时,或者是已经消耗了很大的系统资源,此时可以考虑停止该进程。
基本语法
kill [选项] 进程号
功能描述:通过进程号杀死进程
killall 进程名称
功能描述:通过进程名称杀死进程,也支持通配符,在系统因负载过大而变得很慢时很有用。
常用选项
-9
:表示强迫进程立即停止
应用实例
案例1:踢掉某个非法登录用户
指令: kill 进程号
案例2 终止远程登录服务sshd,在适当的时侯再次重启sshd服务
指令:kill sshd对应的进程号
案例3:终止多个gedit
指令:killall gedit
案例4:强制杀掉一个终端
指令: kill -9 进程号
基本语法
pstree [选项]
功能:可以更加直观查看进程信息
常用选项
-p
:显示进程的pid
-u
:显示进程的所属用户
应用实例
案例1:以树状的形式显示进程的pid
指令: pstree -p
案例2:以树状的形式查看进程的用户id
指令: pstree -u
介绍:
服务本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如mysqld,ssh,防火墙等 ,因此我们又称为守护进程
service管理指令
1.service 服务名 [start|stop|restart|reload|status]
2.在centos7.0以后很多服务不再使用service
,而是systemctl
3.service指令管理的服务在 /etc/init.d
查看
案例:使用service实例查看启动关闭network
service network start|stop|restart
查看服务名
方式1:使用 setup -> 系统服务
指令:setup
方式2: /etc/init.d 找到 service指令管理的服务
指令:ls -l /etc/init.d
服务的运行级别(runlevel)
Linux系统有7种运行级别:常用的级别是3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形UI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
开机的流程说明:
开机 >> BIOS >> /boot >> systemd进程 >> 运行级别 >> 运行级别对应的服务
chkconfig指令
介绍
基本语法
chkconfig --list [|grep xxx]
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off
案例演示
对network 服务进行各种操作
chkconfig --level 3 network off
chkconfig --level 3 network on
使用细节:chkconfig
重新设置服务后自启动或关闭,需要重启机器reboot生效。
systemctl [start|stop|restart|status] 服务名
/usr/lib/systemd/system
查看
systemctl设置服务的自启动状态
systemctl list-unit-files [|grep 服务名]
功能描述:查看服务开机启动状态,grep可以进行过滤
systemctl enable 服务名
功能描述:设置服务开机启动
systemctl disable 服务名
功能描述:关闭服务开机启动
systemctl is-enabled 服务名
功能描述:查询某个服务是否是自启动的
查看当前防火墙的状况,关闭防火墙和重启防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld
细节
systemctl [enable|disable] 服务名
打开端口: firewall-cmd --permanent --add-port=端口号/协议
关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
重新载入,才能生效: firewall-cmd --reload
查询端口是否开发: firewall-cmd --query-port=端口号/协议
应用案例
1.启用防火墙,测试111端口是否能 telnet
2.开放111端口
firewall-cmd --permanent --add-port=111/tcp
需要 firewall -cmd --reload
3.再次关闭111端口
firewall-cmd --permanent --remove-port=111/tcp
需要 firewall -cmd --reload
介绍
top与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处在于top在执行一段时间可以更新正在运行的进程
基本语法
top [选项]
选项说明
-d
秒数 功能:指定top命令每隔几秒更新。默认是3秒
-i
功能:使top不显示任何闲置或者僵死进程
-p
功能:通过指定监控进程ID来仅仅监控某个进程的状态
交互操作说明
P
功能:以CPU使用率排序,默认就是此项
M
功能:以内存的使用率排序
N
功能:以PID排序
q
功能:退出top
应用实例
案例1:监视特定用户
top
:输入此命令,按回车键,查看执行的进程
u
:然后输入"u"回车,再输入用户名,即可
案例2:终止指定的进程
top
:输入此命令,按回车,查看执行的进程
k
:然后输入"k"回车,再输入要结束的进程ID号
案例3: 指定系统状态更新的时间(每隔10秒自动更新)
top -d 10
查看系统网络情况:netstat
基本语法 netstat 选项
选项说明
-an
按一定顺序排列输出
-p
显示哪个进程在调用
应用案例
查看服务名为sshd的服务的信息 netstat -anp |grep sshd
检测主机连接命令ping
是一种网络检测工具,它主要是用于检测远程主机是否正常,或者是两部主机间的网线或者网卡故障
如: ping 对方ip地址