一、能够正常运行systemctl restart opensm,但是在系统中没有发现opensm.service
如果可以通过 systemctl 来管理 opensm 服务,但是系统中又没有找到对应服务文件 opensm.service,那么有以下几种可能的原因:
1. opensm 服务使用的是系统默认的服务模板
systemd 有一些默认的服务模板,如 syslog.service、getty@.service 等。如果一个服务没有指定特定的服务文件,会使用这些模板。这种情况下,你可以通过 systemctl cat opensm 命令来查看 opensm 使用的是哪个模板。
2. opensm 服务文件路径不标准
有些服务文件可能被放置在非标准路径,不在 systemd 的搜索路径中,如 /etc/systemd/system/ 或 /usr/lib/systemd/system/ 之外的地方。可以用 systemctl status opensm 来查看服务文件路径。
3. opensm 由其他包管理工具生成
有些软件包在安装时,会自动生成对应的 systemd 服务文件,但不会保存到磁盘上,而是在运行时由包管理工具临时生成。这种情况下,服务文件只存在于系统内存中。