免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4541 | 回复: 18

能否在Windows下实现自动关闭centos虚拟机? [复制链接]

论坛徽章:
0
发表于 2009-12-13 06:18 |显示全部楼层
在windows xp系统里用vm安装了一台centos虚拟机,现在需要实现xp的自动关机

但是如果虚拟机在运行的话,xp则关不了机

请问能否实现xp自动关机时先关闭vm中的centos虚拟机,然后关机?

期待高手指点!!!

[ 本帖最后由 bier-linux 于 2009-12-14 13:04 编辑 ]

论坛徽章:
0
发表于 2009-12-13 08:08 |显示全部楼层

LZ的想法很好,也遇到过,但是没有像LZ这样想过。
期待答案。

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
发表于 2009-12-13 14:15 |显示全部楼层
说说我的一个想法!
你既然win是自动关机,那应该不会离开计划任务(排除使用其他独立软件),这样,可以使用调用win下的bat(批处理),这样在你的vm的centos中装好telnet服务,这样bat中,telnet到centos,su-到root后,shutdown -h now!
这时,在bat中要有个循环判断,vmware这个软件的内存使用量是否下降了不少,这样的话,centos就关闭了,再执行win中的shutdown -a!

ps:是不是有点繁杂,描述是这样的!
看还有其他好的法子!

论坛徽章:
0
发表于 2009-12-13 15:32 |显示全部楼层
写个批处理,强行结束vmware的相关进程,然后再关机?

论坛徽章:
0
发表于 2009-12-13 15:37 |显示全部楼层
具体请参考taskkill命令:
C:\WINDOWS\system32>taskkill /?

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:
    使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:
    /S    system           指定要连接到的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文执行这个命令。

    /P    [password]       为提供的用户上下文指定密码。如果忽略,提示
                           输入。

    /FI   filter           应用筛选器以选择一组任务。
                           允许使用 "*"。例如,映像名称 eq acme*

    /PID  processid        指定要终止的进程的 PID。
                           使用 TaskList 取得 PID。

    /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来
                           指定所有任务或映像名称。

    /T                     终止指定的进程和由它启用的子进程。

    /F                     指定强制终止进程。

    /?                     显示帮助消息。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                            hh:mm:ss。
                                            hh - 时,
                                            mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain\]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题

    说明
    ----
    1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
    2) 远程进程总是要强行 (/F) 终止。
    3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。

例如:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

C:\WINDOWS\system32>

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
发表于 2009-12-13 16:10 |显示全部楼层
要强行结束 vmware,那必须在 guest机器都已经顺利关闭的前提下,要不然就是10min后,还没关闭,就强制kill掉

论坛徽章:
0
发表于 2009-12-13 16:35 |显示全部楼层

回复 #6 jerryjzm 的帖子

那要是照你的意思,服务器上得装telnet-server啊,不太明智,因为密码都是明文传输的。
但是强行关闭也不好。

嘿嘿。。。
继续等最佳答案。

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-07-11 22:20:00
发表于 2009-12-13 17:58 |显示全部楼层

论坛徽章:
0
发表于 2009-12-14 13:07 |显示全部楼层
原帖由 cst05001 于 2009-12-13 17:58 发表
vmware有提供关机API
http://www.google.com/search?hl= ... =f&oq=&aqi=


链接指向好像不对。

论坛徽章:
0
发表于 2009-12-14 13:09 |显示全部楼层
原帖由 marsaber 于 2009-12-13 15:32 发表
写个批处理,强行结束vmware的相关进程,然后再关机?


嗯,这样也不太好,因为强行关闭VM的话,就相当于直接拔掉VM里虚拟机的电源,对虚拟机或多或少还是有一定的影响的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP