是否可以从 init 脚本中干净地重新启动?
/etc/rcN.d
我的 init 脚本可能会更改其他 init 脚本,包括通常在许多 Linux 发行版中找到的编号 S/K 脚本符号链接。脚本将被编码以了解内容和位置。这将在自定义 AMI 的 AWS EC2 实例中运行,因此我的脚本将在首次启动时存在,并且其他初始化脚本可能已经通过仅具有 K 个链接或根本没有链接而处于非活动状态...
因此,无需关闭其他应用程序,目标是加载一个独特的新应用/etc
程序及其特定的初始化脚本,并使其全部按更改运行和启动。
答案1
是的,你可以从 init 脚本重新启动系统,至少在 Ubuntu 12.04 上是这样,但我认为其他系统没有理由不能这样做。
在进行实验时,请格外小心,不要陷入连续的重新启动循环。当我这样做时,我首先制作了一个初始化脚本,如果特定文件不存在,该脚本会提前退出,并在检查后直接删除该文件(如果确实存在)。并在继续之前进行了测试。
您应该在更改脚本的 K 链接之前停止脚本,但您可能已经这样做了。如果您还启动了创建 S 链接的进程,理论上不需要重新启动,但我可以想象直接检查更改的正确性比在将来重新启动后更好。