Linux脚本中的start-stop-daemon是什么?

什么是启动 – 停止守护进程,应该如何使用?

我正试图自动运行一个特定的程序。 每当系统启动时,程序应该运行。 为此,我正在“/etc/init.d/”位置写脚本。

这是一个pipe理系统级后台进程(守护进程)启动和停止的程序。 您可以通过传入要启动的进程的参数(如创build/检查pid文件)和命令参数来使用它。

然后,你做两件事之一:

start-stop-daemon -S [other arguments] something

启动something ,如果还没有运行的话。 如果它正在运行,什么也不做。

start-stop-daemon -K [other arguments] something

停下something 如果有something没有运行,什么都不要做。

手册页提供了有关各种参数的更多信息。 通常,/ /etc/init.d/中提供了一个模板,该模板具有用于控制后台进程运行的init进程的其他命令。


这是什么意思?

start-stop-daemon –start –background -m –oknodo –pidfile $ {PIDFILE} –exec $ {DAEMON} – $ {TARGETDIR}

  • --background =作为后台进程启动
  • -m =创build一个PID文件。 当你的进程没有创build自己的PID文件时使用它,并且和--background一起--background
  • --oknodo =返回0 ,如果守护进程没有采取任何操作,则不是1
  • --pidfile ${PIDFILE} =检查PID文件是否已经创build
  • --exec =确保进程是这个可执行文件的实例(在你的情况下是DAEMON

复制/etc/init.d/skeleton 文件 (例如/etc/init.d/rajeevdaemon或其他好名字),这是一个包含大量注释的shell脚本,并对其进行编辑以满足您的需求。 然后从/etc/rc2.d/S98rajeevdaemon/etc/rc2.d/K98rajeevdaemon添加适当的符号链接到它。

阅读更多关于运行级别的信息 。

最近(或将来)的Linux发行版正在使用越来越多的systemd