Linux与Unix Shell编程:运行级别脚本解析
需积分: 12 113 浏览量
更新于2024-12-27
收藏 288KB PDF 举报
"LINUX与UNIX SHELL编程指南28"
在LINUX与UNIX系统中,shell编程是管理和自动化任务的核心工具。本章聚焦于运行级别脚本,这些脚本在系统启动、运行以及重启过程中自动执行,以确保服务的正确启动和关闭。运行级别是系统状态的一种表示,从0到6,每个级别对应不同的系统功能和服务。
**运行级别**
运行级别定义了系统在不同阶段的行为。例如,0通常用于系统关机,1是单用户模式,2-5是多用户模式,而6则用于系统重启。在不同的运行级别,系统会执行特定的脚本来启动或关闭必要的服务。
**运行级别脚本(rc_scripts)**
运行级别脚本位于`/etc/rcN.d`目录中,这里的`N`是一个数字,代表对应的运行级别。这些脚本是启动或停止服务的指令,通常以`s`开头(start)或`k`开头(kill),表示在进入或离开某个运行级别时执行的动作。例如,`S01sshd`表示启动SSH服务的脚本,`K02mysqld`则表示在退出运行级别时关闭MySQL服务的脚本。
**运行级别目录**
这些脚本并不是直接存在于`/etc/rcN.d`目录下,而是通过符号链接指向`/etc/init.d`目录中的相应服务脚本。这种方式使得系统可以统一管理启动和停止服务的逻辑。
**创建和使用rc_scripts**
要创建自己的运行级别脚本,开发者需要编写一个可以被`start`或`stop`命令调用的shell脚本,并将其放在`/etc/init.d`目录下。然后,根据需要在相应的`rcN.d`目录中创建链接。脚本必须遵循一定的规范,确保在启动和停止服务时能够正常工作。
**确定当前运行级别**
要查看当前系统的运行级别,可以使用`runlevel`或`who -r`命令。这些命令将显示系统上一次启动后的运行级别,以及当前运行级别。
**启动和停止服务**
除了运行级别脚本,还可以通过`service`或`systemctl`命令手动启动或停止服务。`service`命令适用于传统的System V init系统,而`systemctl`是用于Systemd系统的命令,它提供了更加灵活和强大的服务管理功能。
**其他启动方法**
对于没有使用System V运行级别目录的系统,可以通过其他机制实现启动时的自动化,如`cron`的@reboot项,或者使用Systemd的单元文件来定义服务的启动行为。
通过理解和掌握运行级别脚本,开发者和系统管理员能够更有效地控制和定制LINUX与UNIX系统的启动过程,确保服务按需启动和关闭,提升系统的效率和可靠性。
2021-09-13 上传
446 浏览量
153 浏览量
2009-05-03 上传
2009-05-03 上传
2009-05-03 上传
2009-05-03 上传
2009-05-03 上传
2009-05-03 上传
freelight1985
- 粉丝: 0
- 资源: 28
最新资源
- 后端
- pyalgs:软件包pyalgs使用Python在Robert Sedgwick的算法中实现算法
- gDoomsday-开源
- maximize-all-windows:Firefox插件,用于最大化所有浏览器窗口
- PHPCMS的企业黄页模块(技术宅社区修改版) v20130628
- InspectIcon.r7s2c1z9ui.gaSVxHJ
- 简单线性回归
- Mopidy是用Python编写的可扩展音乐服务器-Python开发
- 参考资料-基于RTL8019AS的单片机TCPIP网络通信.zip
- dag:DAG实施中
- Script Menu-crx插件
- HackBulgariaJavaCourseApplication:哈克保加利亚Java课程应用程序的任务
- 适用于Python程序的采样探查器-Python开发
- 参考资料-基于rs485总线的智能家居系统.zip
- 各个版本的oracle dataaccess
- milestone-project-02:这是一个使用HTML 5,CSS和JS创建的旅行网站,我必须在其中添加Google API,Sky Scanner API和电子邮件