SER*_*PRO 24 reboot shutdown execute-command
我有一台运行几个 vagrant VM 的机器。我遇到的问题是,有时我在关闭或重新启动机器之前忘记关闭这些虚拟机。因此,我的机器卡住了这条消息:waiting for vboxnet0 to become free
我搜索了解决方案,我找到了这个页面:
http://en.kioskea.net/faq/3348-ubuntu-executing-a-script-at-startup-and-shutdown
我尝试了关闭它们的方法,但它不起作用。
我为该命令编写了一个 sh 文件:
#!/bin/bash
cd ~/workspace/git/mediaservice
vagrant halt
Run Code Online (Sandbox Code Playgroud)
有什么建议?
May*_*hux 26
在关机或重启时执行脚本:
sudo chmod +x K99_script
笔记:
小智 13
在 /etc/init.d/ 目录中使用您的脚本创建一个 shell 可执行文件。
由于这必须在关机或重启期间执行,因此需要在 /etc/rc0.d/ 和 /etc/rc6.d 中创建软链接
例子:
sudo ln -s /etc/init.d/<your_file> /etc/rc0.d/k99stop_vm
sudo ln -s /etc/init.d/<your_file> /etc/rc6.d/k99stop_vm
sudo chmod a+x /etc/init.d/<your_file>
Run Code Online (Sandbox Code Playgroud)
小智 13
如果您的 vagrant VM 正在使用 VirtualBox,您可以修改/etc/default/virtualbox
和更改以下行:
SHUTDOWN_USERS=""
Run Code Online (Sandbox Code Playgroud)
到
SHUTDOWN_USERS="all"
Run Code Online (Sandbox Code Playgroud)
这在 Ubuntu 14.04 上为我修复了它。
为Ubuntu 14.10,你喜欢的东西RC04
不RC99
从头开始做什么
/etc/init.d/scriptName
#!/bin/bash
位于脚本的顶部,以便 Linux 知道这是一个 Bash 脚本chmod +x /etc/init.d/scriptName
ln -s /etc/init.d/scriptName /etc/rc6.d/K04scriptName
我经历的步骤
/etc/rc6.d/RC99linkName
改为/etc/rc6.d/RC04linkName
并且它有效