在 OpenSUSE 11.4sysvinit-tools
包中包含startproc
和二进制文件,根据文件和 OpenSUSE 文档,这些二进制文件killproc
应该在 Sys-V 类型的初始化脚本中使用。这些二进制文件的想法是什么?难道不能用、、和其他类似工具实现与、和相同的功能吗?checkproc
/etc/init.d/skeleton
startproc
killproc
checkproc
nice
sudo
sleep
答案1
我们先定义一下具体的程序: 启动过程
startproc:startproc 和 LSB 变体 start_daemon 检查指定可执行文件的所有进程,如果没有找到进程则启动它。 startproc不使用pid来搜索进程,而是使用相应程序的完整路径来识别可执行文件
Killproc 向所有使用指定可执行文件的进程发送信号。如果未指定信号名称,则发送信号 SIGTERM。 Killproc 不使用 pid 向进程发送信号,而是使用相应程序的完整路径来识别可执行文件
checkproc 检查正在运行的使用指定可执行文件的进程。 checkproc 不使用 pid 来验证进程,而是使用相应程序的完整路径来识别可执行文件。
Nice、sudo、sleep 不执行与上述程序相关的任何操作。
当然,您可以在任何脚本语言(例如 bash)或其他编译语言中从kill/start/checkproc 执行相同的逻辑。但这些程序的目的是向所有需要它的用户提供此功能,因此他们不必费心在不同的发行版和不同的操作系统上编写/重写相同的逻辑。