答案:查看Linux服务开机自启需先判断初始化系统类型。使用ps -p 1确认是systemd还是SysVinit。若为systemd,执行systemctl is-enabled 服务名.service,返回enabled表示已启用;可结合systemctl list-unit-files --type=service | grep enabled查看所有自启服务。若为SysVinit,使用chkconfig --list 服务名查看运行级别状态,或检查/etc/rc.d/rc.local是否有启动命令。还可通过ps aux | grep 服务名确认运行状态,或查看/etc/systemd/system/multi-user.target.wants/目录软链接及crontab @reboot任务辅助判断。
在Linux系统中,查看某个服务是否设置为开机自启,主要取决于你使用的系统初始化方式。目前主流的是systemd(大多数现代发行版如CentOS 7+、Ubuntu 16.04+、Debian 9+等),也有部分旧系统使用SysVinit。以下是常用的方法。
如果你的系统使用systemd,可以通过systemctl命令来查看服务的自启动状态。
.service
对于仍在使用SysVinit的系统,可以使用chkconfig或直接查看/etc/rc.d/rc.local等脚本。
如果不确定初始化类型,也可以通过以下方式辅助判断:
基本上就这些。大多数情况下,systemctl is-enabled 服务名就能快速判断服务是否开机自启。确认你的系统使用systemd还是SysVinit是关键。输入ps -p 1可查看进程1是systemd还是init,从而判断初始化系统类型。