最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
3. 服务管理指令 systemctl(CentOS 7.0之后)
一、进程管理
在 Linux 操作系统中,每一个执行的程序都是被称之为进程,且每个进程都有它专属的进程号 pid;每个进程可能都以前台和后台两种方式存在,前台进程就是用户直接可在屏幕上操作的部分,与用户直接交互;后台进程则无法在屏幕看到,只在后台运行*(一般系统服务都是以后台进程的方式存在,常驻于 系统,只有关机才会结束)*。
程序 是静态的实体;
进程 则是动态的实体,可以理解为运行着的程序;
1. 查看进程信息
使用指令 ps 可以查看当前系统正在运行的进程以及它们执行的状态;
- ps -a //显示当前终端所有的进程信息
- ps -u //以用户的格式显示进程信息
- ps -x //显示后台进程运行的参数
- ps -aux | more //分页查看所有进程信息
如下分页查看所有进程信息:
各字段含义如下:
2. 查看父进程信息
除进程本身外,进程也可以创建多个子进程,进而就有了父进程和子进程的概念;
查看父进程的信息需要先知道父进程的 pid,此时需要使用指令 ps -ef 以全格式显示当前的所有进程。例如我们查看进程 sshd(远程登录) 的父进程信息(结果只需看第一条即可);
可以看到,进程 sshd 的 id 为 1478,它的父进程 id 为 1;此时再全格式查看进程信息就可以找到 id 为 1 的进程是哪个了;
以全格式查看进程信息时新增了 PPID 字段,代表此进程的父进程 pid;PPID 为 0 表示该进程没有父进程。
3. 终止进程
需要停止某进程时,可以使用指令 kill 进程号 或者 killall 进程名 分别通过进程号或进程名终止该进程;需要注意的是,如果一个进程下有子进程,该进程被终止后它的所有子进程也将被终止。
终止进程指令常用选项:
- -9 //强制进程立即停止
4. 查看进程树
查看进程树使用指令 pstree,相较于使用 ps 指令它可以更加直观;
- pstree -p //显示进程的pid
- pstree -u //显示进程的所属用户
5. 动态监控进程
动态监控进程使用指令 top,功能与 ps 指令相似,区别在于 top 是动态的监控进程,可以查看进程的更新过程。
- top -d 秒数 //指定top命令每隔几秒更新一次当前进程的执行情况(默认3s)
- top -i //top指令不再显示任何僵死或者闲置的进程
- top -p //通过进程号pid指定监控某个进程执行情况
在使用 top 指令动态查看进程的过程中,我们也可以进行一些交互操作:
- 按下 “P” 使进程按照 CPU 的使用率进行排序(默认)
- 按下 “M” 按照内存占用率排序
- 按下 “N” 按照 pid 进行排序
- 按下 “u” 再输入用户名,监控指定用户的进程
- 按下 “k” 再输入进程号,终止指定的进程
- 按下 “q” 退出 top 指令
二、服务管理
服务管理中的服务本质上就是一个后台的进程。服务运行在后台,监听某个端口等待某个程序的请求,如 sshd、mysqld、防火墙 等都属于服务,服务又被称为守护进程。
1. 服务管理
服务管理使用的指令为 service 服务名 选项*(注意在 CentOS 7.0 之后不再使用 service 指令,由 systemctl 指令代替)*;
常用选项有:
- start //启动服务
- stop //关闭服务
- restart //重启
- reload //重载
- status //状态
当然,service 指令依旧可以管理若干服务,具体存储在 /etc/init.d 目录下。如下是 7.0 版本之后 services 指令所管理的服务:
使用指令 setup 可以查看 Linux 操作系统的所有服务;如下为所有系统服务,前面带 [*] 的代表此服务会随着操作系统的启动而自动启动,我们可以使用空格键来选择它是否选中。
2. 服务的运行级别
之前已经有介绍,Linux 操作系统中一共有七种运行级别;
- 0 - 系统停机状态,系统默认运行级别不能设置为0,否则无法正常启动(基本不用)
- 1 - 单用户工作状态,常用于系统维护,没有远程登陆功能(基本不用)
- 2 - 多用户工作状态,不支持网络服务
- 3 - 多用户状态,无界面,登陆后进入控制台命令行模式(最常用)
- 4 - 系统未使用
- 5 - 图形界面模式(常用)
- 6 - 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
通过指令 chkconfig 可以为服务的各个运行级别设置自启动或关闭自启动*(注意该命令在 CentO S 7.0 之后也不再使用,由 systemctl 代替)*;
- chkconfig --list //查看 chkconfig 命令管理的服务
- chkconfig --level 运行级别 服务名 on/off //设置某个服务在某个运行级别为自启动或者关闭自启动
举例:关闭 network 服务在运行级别 3 的自启动服务,再使用 --list 指令可以看到,network 服务的自启动功能已关闭。
打开自启动功能只需把 off 改为 on 即可;
使用 chkconfig 指令设置服务的自启动功能后,需要重启系统才能生效。
3. 服务管理指令 systemctl(CentOS 7.0之后)
基本语法:systemctl 选项 服务名
- 常用选项与 service 相同
- systemctl list-unit-files //查看当前各个服务的自启动状态,可使用管道过滤
- systemctl enable 服务名 //设置服务开机自启动
- systemctl disable 服务名 //关闭服务开机自启动
- systemctl is-enabled 服务名 //查看某服务是否为自启动状态
systemctl 指令设置的自启动服务默认在运行级别 3 和 5 。
systemctl 指令所管理的服务存储于 /usr/lib/systemd/system 目录下;
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.(img-rGQPQCjp-1715845883443)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!