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