这两个终止进程的命令是否有效相似?

这两个终止进程的命令是否有效相似?

我查看了一些init.d脚本,其中许多脚本在“ stop)”目标中使用了这个本质上是这个命令的命令:

kill $(pidof ${DAEMON_NAME})

pidof ${DAEMON_NAME}实际上是一个脚本函数,用于检查状态代码并在必要时调用 exit,尽管如此,上面的和这个有什么不同:

killall ${DAEMON_NAME}

init.d如果可以的话,脚本将会得到很大的简化。

编辑: 我应该补充一下,这些“进程”不是守护进程,而且实际上并没有在 FS 的任何地方记录它们的 PID……

答案1

是的,它们功能相同。

皮多夫是一个 shell 函数。

注意全杀之后并且并非在所有 Linux/Unix 版本中都可用。

因此,如果您必须编写启动脚本,kill/pidof 是更通用的方法。

相关内容