理解和创建LINUX运行级别脚本:自动化启动与停止程序

需积分: 12 1 下载量 137 浏览量 更新于2024-09-20 收藏 288KB PDF 举报
"LINUX与UNIX SHELL编程指南的第28章主要讲解了运行级别脚本的创建和管理,这是在系统启动和重启时自动运行程序的关键。内容涵盖了运行级别的概念,如何创建rc.scripts,以及如何根据不同的运行级别执行相应的脚本。此外,还提到了运行级别目录的一般位置在/etc/rcN.d或/etc/rc.d/rcN.d,并且这些脚本实际上是链接到实际的执行脚本。同时,章节中也介绍了如何确定系统当前的运行级别,这对于理解和管理系统的自动化启动过程至关重要。虽然书中可能并未深入讨论如何控制运行级别以匹配服务需求,但它提供了足够的基础信息,使读者能够编写和理解启动和停止程序的shell脚本。" 在LINUX和UNIX系统中,运行级别是一种系统状态的表示,定义了哪些服务、应用或脚本应该在启动时自动运行。运行级别0通常代表关机,1是单用户模式,2-5是多用户模式,其中3是无图形界面的多用户模式,4和5则是带图形界面的多用户模式,而6则表示重启。每个运行级别都有对应的配置目录,比如/etc/rc2.d对应运行级别2的脚本。 创建rc.scripts是为了在系统启动时自动执行特定任务,如启动网络服务、数据库服务等。这些脚本通常以“s”开头(表示start)或“k”开头(表示kill),用于启动或停止程序。例如,一个名为S99myapp的链接会指示系统在运行级别2时启动myapp服务,而K01myapp则会在退出该运行级别时停止服务。 为了确定系统当前的运行级别,可以使用`runlevel`命令。这个命令会显示系统上一次的运行级别和当前的运行级别。在某些系统中,`who -r`命令也能提供相同的信息。 了解如何在这些rc.scripts中工作对于系统管理和自动化运维非常关键。通过编辑这些脚本或创建新的链接,可以定制系统启动和停止的行为,以满足特定的需求。不过,需要注意的是,确保编写的脚本能够正确地启动或停止服务是用户的责任,因为运行级别脚本并不负责检查所有服务的状态。 此外,除了基于rc.d的系统启动机制,还有其他的启动管理工具,如Systemd,它在许多现代Linux发行版中被广泛使用。Systemd使用服务单元文件(service unit files)来控制服务的启动和停止,提供了更高级别的控制和管理功能。虽然这部分内容未在本章中详细展开,但它是了解和控制Linux系统启动流程的重要组成部分。