Home

韧桂

思考,总结

进程管理(重点)

clear 清屏

显示系统执行的进程

查看进程使用的指令 ps ,参数为 -aux

ps 详解
ps –aux | grep xxx //看看有没有 xxx 服务,具体只看一个服务
ps -aux | more //使用分页查看

ps -ef | more //以全格式显示当前所有的进程,查看进程的父进程。
ps -ef | grep xxx //查看某一进程的父进程

终止进程 kill 和 killall

介绍:

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

基本语法:

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

常用选项:

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

最佳实践:

案例1:踢掉某个非法登录用户
[root@hadoop133 ~]# ps -aux | grep sshd
[root@hadoop133 ~]# kill 3922 //linjing@pts 的进程号

案例2: 终止远程登录服务 sshd, 在适当时候再次重启 sshd 服务
[root@hadoop133 ~]# kill 3908 // /usr/sbin/sshd 的进程号

案例3: 终止多个 gedit 编辑器
[root@hadoop133 ~]# killall gedit //killall:通过进程名称来终止进程,如父进程有多个子进程时。

案例4:强制杀掉一个终端 对于 bash ,也可自杀。
[root@hadoop133 ~]# ps -aux | grep bash //查看终端进程号 /bin/bash
[root@hadoop133 ~]# kill -9 3444

查看进程树 pstree

基本语法:

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

常用选项:

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

服务(service)管理

介绍:

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。【原理图】

service管理指令:

service 服务名 [start | stop | restart | reload | status] //启动/停止/重启/重载/状态
在 CentOS7.0 后 不再使用 service ,而是 systemctl

使用案例:

1) 查看当前防火墙的状况,关闭防火墙和重启防火墙。
Service iptables status/stop/start //可打开 22 号端口,而不关闭防火墙

细节讨论:

关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
//通过 telnet 指令检查 Linux 的某个端口是否在监听,并且可以访问
在 dos 下使用 telnet ip 端口

这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。 如果希望设置某个服务自启动或关闭永久生效,要使用 chkconfig 指令。

查看服务名:

方式1:使用 setup -> 系统服务 就可以看到。
方式2: /etc/init.d/服务名称 【程序】

服务的运行级别(runlevel):

一个思考题
如果不小心将默认的运行级别设置成 0 或者 7 ,怎么处理?
进入单用户模式,修改成正常的即可

chkconfig 指令

介绍
通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法
1) 查看服务 chkconfig --list | grep xxx //只查看 xxx 服务
2) chkconfig 服务名 --list //只查看 xxx 服务
3) chkconfig --level 5 服务名 on/off //可以指定某个服务,某各个运行级别,开启(on)或关闭(off) 。sshd 服务在 1 运行级别 off:Chkconfig –level 1 sshd off

4) chkconfig 服务名 on/off //不管是哪个级别都开启/关闭。iptables 彻底关闭:chkconfig iptables off

应用实例:
1) 案例1: 请显示当前系统所有服务的各个运行级别的运行状态
bash > chkconfig –list

2) 案例2 :请查看 sshd 服务的运行状态
Chkconfig sshd –list 或者 chkconfig –list | grep sshd

3) 案例3: 将 sshd 服务在运行级别 5 下设置为不自动启动,看看有什么效果?
Chkconfig –level 5 sshd off

4) 案例4: 当运行级别为 5 时,关闭防火墙。
Chkconfig –level 5 iptables off

5) 案例5: 在所有运行级别下,关闭防火墙
Chkconfig iptables off

6) 案例6: 在所有运行级别下,开启防火墙
Chkconfig iptables on

使用细节
1) chkconfig 重新设置服务后自启动或关闭,重启机器 reboot 就会按设置的状态运行

动态监控进程

介绍:

top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程(默认每3秒变化一次)。

基本语法:

top [选项]


应用实例:

案例1.如何监视特定用户
top:输入此命令,按回车键,查看执行的进程。按 q 可退出

u:然后输入“u”回车,再输入用户名,即可

案例2:如何终止指定的进程。
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程 ID 号

案例3:指定系统状态更新的时间(每隔 10 秒自动更新,默认是 3 秒):
bash > top -d 10

监控网络状态

查看系统网络情况 netstat

基本语法

netstat [选项]

选项说明

-an 按一定顺序排列输出
-p 显示哪个进程在调用

应用案例

查看系统所有的网络服务
netstat -anp | more

请查看服务名为 sshd 的服务的信息。
bash > netstat –anp | grep sshd

crond 系统定时任务

见 定时任务调度 https://moistlin.cn/posts/%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6

韧桂 2020-01-19