使用时 发行服务根据您使用的系统类型(SysV init,Upstart,systemd等),服务的停止,启动,停止,重新启动等方式可能会有所不同。 在这一点上,许多人怀疑它实际上是如何完成的,并且存在多个不同的系统这一事实并不能帮助一些经验不足的用户,他们尝试使用错误的命令来执行此操作。
因此,我将展示一个简单的教程,通过它您将更清楚如何在发行版中工作,无论它是什么。 为此,您必须首先了解的是所使用的恶魔的类型。 正如我所说,并非所有发行版都使用相同的发行版 启动系统类型。 实际上,正如您所知,有些人反对新的systemd并使用旧的SysV生成了fork或派生类,与Debian相比,Devuan就是这种情况。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
我怎么知道我的发行版使用的系统? 好吧,您可以通过查找以下路线来查找,如果有它们,您的发行版中将具有该系统:
- 知道你是否已经系统化:找到路径/ usr / lib / systemd
- 知道你是否有暴发户:找到其他路径/ usr / share / upstart
- 知道您是否具有SysV初始化:找到路径/etc/init.d
- 干草 他人即使比较罕见,在某些特定情况下,如果您怀疑它们并非以上情况,也可以执行类似的操作。
另一种使它变得更容易的方法,因为每个人都相同,所以它是在/ proc中查找有关PID = 1的信息,即,其余部分挂起的第一个进程,该进程恰好与此启动守护程序相对应。 为此,只需运行以下命令,它将返回名称:
sudo stat /proc/1/exe
现在您知道您拥有的系统,因此,让我们 您可以用来管理服务的命令:
- SysV初始化:/etc/init.d/[service_demon_name] [操作]
- systemd:systemctl [操作] [守护程序名称]
- 暴发户:服务[service_demon_name] [操作]
- 他人:如果您使用其他系统,则最好阅读手册。 例如,在Linux和其他Unix上的一些罕见情况下,可能会使用SIGHUP进程中的信号来重置服务:kill -HUP $(cat / var / run / [service-PID])
你应该 替换[动作] 对于您需要做的事情。 例如,如果需要重新启动,则使用“重置”,如果要停止使用“停止”,如果要开始使用“星形”,等等。 并将[daemon_name]替换为您要启动的服务的守护程序的名称。 例如:
systemctl reset httpd
希望您现在更清楚。
仍然有新贵的系统吗? 我认为只是一些旧的Ubuntu。
同样,即使您已使用systemd,您仍然可以拥有etc / init.d文件夹。
我更喜欢使用其他一些命令,例如ps或pstree,而不是滥用sudo-this-sudo-that。
问候
“ service”命令在init.d和systemd系统上均有效