50

什么是 start-stop-daemon 以及应该如何使用它?

我正在尝试使特定程序自动运行。每当系统启动时,程序都应该运行。为此,我正在/etc/init.d/现场编写脚本。

4

2 回答 2

64

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

然后,您执行以下两项操作之一:

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

start something,如果something尚未运行。如果它正在运行,则什么也不做。

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

停下来something。如果something没有运行,什么也不做。

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


这是什么意思?

启动-停止-守护进程 --start --background -m --oknodo --pidfile ${PIDFILE} --exec ${DAEMON} -- ${TARGETDIR}

  • --background= 作为后台进程启动
  • -m= 制作一个 PID 文件。这在您的进程不创建自己的 PID 文件时使用,并且与--background
  • --oknodo= return 01如果守护程序没有采取任何操作,则不是
  • --pidfile ${PIDFILE}= 检查 PID 文件是否已创建
  • --exec=确保进程是这个可执行文件的实例(在你的情况下,DAEMON
于 2013-04-22T05:33:13.540 回答
9

复制/etc/init.d/skeleton 文件(例如/etc/init.d/rajeevdaemon或其他好名字),这是一个带有很多注释的 shell 脚本,并根据您的需要对其进行编辑。然后从 eg/etc/rc2.d/S98rajeevdaemon/etc/rc2.d/K98rajeevdaemon向它添加适当的符号链接。

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

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

于 2013-04-22T05:31:50.447 回答