/etc/init.d/networking restart 和 invoke-rc.d Networking restart 之间的区别

/etc/init.d/networking restart 和 invoke-rc.d Networking restart 之间的区别

/etc/init.d/networking restartinvoke-rc.d networking restart(Debian)之间有什么真正的区别吗 ?

答案1

其内容invoke-rc.d记录在其手册页中。它是直接运行 init 脚本的包装器,但它还应用了可能导致命令不运行的策略,该策略基于当前运行级别以及守护程序是否应在该运行级别中运行。

默认情况下,Debian 不区分运行级别 2-5,但作为本地管理员,您可以更改每个运行级别中运行的内容。invoke-rc.d如果运行级别错误,将遵守这些本地策略并且不会启动守护进程。

答案2

没有真正的区别[1]。该invoke-rc.d命令只是提供了一个用于运行 init.d 脚本的便捷界面,让您免去输入要运行的脚本的完整路径的繁重责任!两次调用将获得相同的最终结果。

[1] 请注意,该invoke-rc.d命令在调用请求的服务脚本之前执行检查,以确保它应该运行 - 它可以防止在错误的运行级别等中调用脚本,因此从这个意义上说,这是有区别的 - 它可以保护您免遭射击脚有点。手册页在这方面应该具有指导意义。

答案3

执行网络重新启动的另一种简单方法是创建以下 bash 文件,在我的例子中称为 [net] 即:/etc/init.d/net

剧本:

#!/bin/sh -e
invoke-rc.d networking stop ;  invoke-rc.d networking start ; ifup eth0 

#Add whatever interfaces you have installed. ie: ifup eth0 wlan0 etc 

创建后 chmod 711 '文件名' [net]

相关内容