zoukankan      html  css  js  c++  java
  • Virtualbox开机启动,service命令管理

    #!/bin/bash
    #chkconfig:235 80 20
    #description:start or stop vbox
    #Author:AiYS~20180502
    #OS:RedHatEnterprise6.4,上传vbox至/etc/init.d/并赋权755,chkconfig --add vbox添加后可开机启动并用service命令管理


    . /etc/rc.d/init.d/functions
    . /etc/sysconfig/network

    VBoxManage list vms &>/dev/null
    [ $? -eq 0 ] && VBuuid=($(VBoxManage list vms | awk '{print $2}' | tr -d {})) || VBuuid=()
    function start {
    if [ ${#VBuuid[*]} -gt 0 ];then
      for vbstart in ${VBuuid[*]}
      do
        VBname=$(VBoxManage showvminfo ${vbstart} --machinereadable | egrep "name" | awk -F'"' '{print $2}')
        [ $(VBoxManage showvminfo ${vbstart} --machinereadable | egrep "VMState" | awk -F'"' '{print $2}')=running ] && echo -e "${VBname}正在运行!" || VBoxManage startvm ${vbstart} --type headless &>/dev/null
      done
    else
      echo -e "本机未安装VirtualBox!"
    fi
    }

    function stop {
    VBoxManage list runningvms &>/dev/null
    [ $? -eq 0 ] && VBrunning=($(VBoxManage list runningvms | awk '{print $2}' | tr -d {})) || VBrunning=()
    if [ ${#VBrunning[*]} -gt 0 ];then
      for vbstop in ${VBrunning[*]}
      do
        VBoxManage controlvm ${vbstop} acpipowerbutton && echo -e "关闭$(VBoxManage showvminfo ${vbstop} --machinereadable | egrep "name" | awk -F'"' '{print $2}')"
      done
    else
      echo "本机没有运行的VirtualBox!"
    fi
    }

    function status {
    if [ ${#VBuuid[*]} -gt 0 ];then
      for vbstate in ${VBuuid[*]}
      do
        name=$(VBoxManage showvminfo ${vbstate} --machinereadable | egrep "name" | awk -F'"' '{print $2}')
        state=$(VBoxManage showvminfo ${vbstate} --machinereadable | egrep "VMState" | awk -F'"' '{print $2}')
        echo -e "${name} ${state}"
      done
    else
      echo -e "本机未安装VirtualBox!"
    fi
    }

    case "$1" in
      start)
        start;;
      stop)
        stop;;
      status)
        status;;
      *)
        echo -e "Format error! eg:service $0 {start|stop|status}"
        exit 1;;
    esac

    ******开机启动虚拟机******

    在/etc/rc.local中增加:

    sh /etc/init.d/vbox start

  • 相关阅读:
    相机振动效果(打击屏幕振动)
    Unity3d Shader开发(一)Properties
    指定字符串长度,并对多余的填充
    Render Texture的使用(截取rendertexture的一帧到Texture2D)
    拖尾渲染器 Trail Renderer
    角色控制器 Character Controller
    Spring Boot 的单元测试
    Git 常用命令整理
    孔浩老师的 Struts2 教程听课笔记(思维导图)
    Java 设计模式之 Command 设计模式
  • 原文地址:https://www.cnblogs.com/AiYS/p/8982264.html
Copyright © 2011-2022 走看看