Linux-基础实操篇-进程管理(重点)

基本介绍
  1. LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID (pid,进程号)=>windows => linux
  2. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程 则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
  4. 示意图,PID是进程号

显示系统执行的进程

基本介绍

ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数 .

应用实例

要求:以全格式显示当前所有的进程,查看进程的父进程。 查看 sshd 的父进程信息
ps -ef 是以全格式显示当前所有的进程
-e 显示所有进程。 -f 全格式
ps -ef|grep sshd
BSD 风格
UID :用户 ID
PID :进程 ID
PPID :父进程 ID
C CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表
明进程是 I/O 密集型运算,执行优先级会提高
STIME :进程启动的时间
TTY :完整的终端名称
TIME CPU 时间
CMD :启动进程所用的命令和参数

终止进程 kill killall

介绍:

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill 命令来完 成此项任务。

基本语法

kill [ 选项 ] 进程号(功能描述:通过进程号杀死 / 终止进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

常用选项

-9 :表示强迫进程立即停止

最佳实践

案例 1 :踢掉某个非法登录用户
        kill 进程号 , 比如 kill 11421
案例 2: 终止远程登录服务 sshd, 在适当时候再次重启 sshd 服务
        kill sshd 对应的进程号 ; /bin/systemctl start sshd.service
案例 3: 终止多个 gedit ,
        演示 killall gedit
案例 4 :强制杀掉一个终端 ,
        指令 kill -9 bash 对应的进程号

查看进程树 pstree

基本语法

pstree [ 选项 ] , 可以更加直观的来看进程信息

常用选项

-p : 显示进程的 PID
-u : 显示进程的所属用户

应用实例:
案例 1 :请你树状的形式显示进程的 pid
        pstree -p
案例 2 :请你树状的形式进程的用户
        pstree -u

服务(service)管理

介绍

服务 (service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如 (mysqld , sshd 防火墙等) ,因此我们又称为守护进程,是 Linux 中非常重要的知识点。
service 管理指令
  1. service 服务名 [start | stop | restart | reload | status]
  2. CentOS7.0 后 很多服务不再使用 service ,而是 systemctl (后面专门讲)
  3. service 指令管理的服务在 /etc/init.d 查看

service 管理指令案例

请使用 service 指令,查看,关闭,启动 network [ 注意:在虚拟系统演示,因为网络连接会关闭 ]
指令 :
service network status
service network stop
service network start

查看服务名 :

方式 1

使用 setup -> 系统服务 就可以看到全部。
setup

方式 2:

/etc/init.d 看到 service 指令管理的服务
ls -l /etc/init.d

服务的运行级别(runlevel):

Linux 系统有 7 种运行级别 (runlevel) :常用的是 级别 3 5
运行级别 0 :系统停机状态,系统默认运行级别不能设为 0 ,否则不能正常启动
运行级别 1 :单用户工作状态, root 权限,用于系统维护,禁止远程登陆
运行级别 2 :多用户状态 ( 没有 NFS) ,不支持网络
运行级别 3 :完全的多用户状态 ( NFS) ,无界面,登陆后进入控制台命令行模式
运行级别 4 :系统未使用,保留
运行级别 5 X11 控制台,登陆后进入图形 GUI 模式
运行级别 6 :系统正常关闭并重启,默认运行级别不能设为 6 ,否则不能正常启动

开机的流程说明:

CentOS7 后运行级别说明

/etc/initab
进行了简化 ,如下 :
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
init 0
# To view current default target, run:
systemctl get-default

# To set a default target, run:
systemctl set-default TARGET.target

chkconfig 指令

介绍

通过 chkconfig 命令可以给服务的各个运行级别设置自 启动 / 关闭
chkconfig 指令管理的服务在 /etc/init.d 查看
注意 : Centos7.0 后,很多服务使用 systemctl 管理 ( 后面马上讲 )

chkconfig 基本语法
查看服务 chkconfig --list [| grep xxx]
chkconfig 服务名 --list
chkconfig --level 5 服务名 on/off

案例演示 : network 服务 进行各种操作 , network 3 运行级别 , 关闭自启动
chkconfig --level 3 network off
chkconfig --level 3 network on
使用细节
chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 生效

systemctl 管理指令

基本语法: systemctl [start | stop | restart | status] 服务名
systemctl 指令管理的服务在 /usr/lib/systemd/system 查看

systemctl 设置服务的自启动状态

systemctl list-unit-files [ | grep 服务名 ] ( 查看服务开机启动状态 , grep 可以进行过滤 )
systemctl enable 服务名 ( 设置服务开机启动 )
systemctl disable 服务名 ( 关闭服务开机启动 )
systemctl is-enabled 服务名 ( 查询某个服务是否是自启动的 )
应用案例:
查看当前防火墙的状况,关闭防火墙和重启防火墙。 => firewalld.service
systemctl status firewalld; systemctl stop firewalld; systemctl start firewalld

细节讨论:

关闭或者启用防火墙后,立即生效。 [telnet 测试 某个端口即可 ]
这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。

打开或者关闭指定端口

在真正的生产环境,往往需要将防火墙打开,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟
服务器监听端口通讯。这时,需要打开指定的端口。比如 80 22 8080 等,这个又怎么做呢?老韩给给大家讲一讲。

firewall 指令

  1. 打开端口: firewall-cmd --permanent --add-port=端口号/协议
  2. 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
  3. 重新载入,才能生效 : firewall-cmd --reload
  4. 查询端口是否开放: firewall-cmd --query-port=端口/协议
应用案例:
  1. 启用防火墙, 测试 111 端口是否能 telnet , 不行
  2. 开放 111 端口
  3. firewall-cmd --permanent --add-port=111/tcp ; 需要 firewall-cmd --reload
  4. 再次关闭 111 端口
  5. firewall-cmd --permanent --remove-port=111/tcp ; 需要 firewall-cmd --reload

动态监控进程

介绍:

top ps 命令很相似。它们都用来显示正在执行的进程。 Top ps 最大的不同之处,在于 top 在执行一段时间可以
更新正在运行的的进程。

基本语法

top [ 选项 ]
上图可以会有不对的,可以在讨论区提出来,我看到会回复!!

选项说明:

交互操作说明:

应用实例

案例 1. 监视特定用户 , 比如我们监控 tom 用户
top :输入此命令,按回车键,查看执行的进程。
u :然后输入 “u” 回车,再输入用户名,即可 ,
案例 2 :终止指定的进程 , 比如我们要结束 tom 登录
top :输入此命令,按回车键,查看执行的进程。
k :然后输入 “k” 回车,再输入要结束的进程 ID
案例 3: 指定系统状态更新的时间 ( 每隔 10 秒自动更新 ), 默认是 3
top -d 10

监控网络状态

查看系统网络情况 netstat

基本语法
netstat [ 选项 ]
选项说明
        -an 按一定顺序排列输出
        -p 显示哪个进程在调用
应用案例
        请查看服务名为 sshd 的服务的信息。
        netstat -anp | grep sshd

检测主机连接命令 ping

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的网线或网卡故障。
: ping 对方 ip 地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值