可通过systemctl(systemd)、chkconfig(SysV init)、/etc/rc.d/rc*.d目录符号链接及用户级autostart配置四类方法查看Linux开机启动项,覆盖系统服务与桌面程序。

如果您需要了解系统在启动时自动运行的服务或程序,可以通过命令行工具查看当前的开机启动项配置。以下是针对不同初始化系统的操作方法:
systemd是现代Linux发行版(如CentOS 7+、Ubuntu 16.04+、Fedora等)默认的初始化系统,systemctl是其核心管理工具,用于查询和控制系统服务的启动状态。
1、列出所有已启用的开机启动服务:
执行命令 systemctl list-unit-files --type=service --state=enabled
2、列出所有已禁用的开机启动服务:
执行命令 systemctl list-unit-files --type=service --state=disabled
3、查看某个具体服务的开机启动状态:
执行命令 systemctl is-enabled 服务名.service(例如:systemctl is-enabled sshd.service)
4、查看所有服务(含当前运行状态与启动状态):
执行命令 systemctl list-unit-files --type=service
chkconfig适用于传统SysV init系统(如CentOS 6及更早版本),它通过读取/etc/rc.d/rc*.d目录下的符号链接来管理服务的运行级别启动状态。
1、列出所有服务及其各运行级别下的启动状态:
执行命令 chkconfig --list
2、仅显示开机自启的服务:
执行命令 chkconfig --list | grep :on
3、查看指定服务在各运行级别是否启用:
执行命令 chkconfig --list 服务名(例如:chkconfig --list httpd)
4、检查某服务是否被设置为开机启动(返回空则未启用):
执行命令 chkconfig 服务名 --list | grep "3:on\|5:on"
该方法绕过高层工具,直接观察init脚本在各运行级别目录下的实际链接状态,适用于所有基于SysV init的系统,且不依赖chkconfig是否可用。
1、进入运行级别3的启动目录:
执行命令 ls -l /etc/rc.d/rc3.d/
2、进入运行级别5的启动目录:
执行命令 ls -l /etc/rc.d/rc5.d/
3、筛选出以"S"开头的启动脚本(S表示Start):
执行命令 ls /etc/rc.d/rc3.d/S*
4、确认某服务脚本是否存在对应启动链接:
执行命令 ls /etc/rc.d/rc3.d/S*服务名*(例如:ls /etc/rc.d/rc3.d/S*sshd*)
对于使用图形界面的系统,部分程序可能通过桌面环境的自动启动机制加载,这类配置独立于系统级服务管理器,需单独检查用户会话的启动项。
1、查看GNOME桌面的自动启动程序列表:
执行命令 ls ~/.config/autostart/
2、查看系统级桌面自动启动项(需sudo):
执行命令 ls /etc/xdg/autostart/
3、检查XDG自动启动文件是否启用:
执行命令 grep -E "^Hidden=false|^X-GNOME-Autostart-enabled=true" ~/.config/autostart/*.desktop 2>/dev/null
4、检查当前用户shell配置文件中是否存在启动命令:
执行命令 grep -E "(bashrc|profile|bash_profile)" ~/.bashrc ~/.bash_profile ~/.profile 2>/dev/null | grep -i "start\|launch\|exec"
以上就是LINUX如何查看开机启动项_Linux chkconfig与systemctl命令【系统】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号