我在一次 QA 职位面试中被问到这个问题:
告诉我关闭系统的所有可能方法。系统可能位于网络中。
我知道这个问题有点模糊。这是面试官问的问题,也许他希望我回答有关虚拟化的问题?
我的回答:使用 ssh 关闭网络中的不同系统。
他对这个答案很满意,但希望我能告诉我其他的方法。
那么,关闭系统的其他方法还有哪些?
答案1
什么类型的系统?您有物理访问权限吗?“关机”是指彻底关机吗?您想同时关闭系统电源吗?
以下是我目前掌握的清单:
任何操作系统:
- 按下电源按钮(可能需要按住约 5 秒钟)(*可能不干净)
- 从系统上拔下电源线(不会清洁)
- 剪断电源线(不会干净)
- 从 UPS、电源板或墙壁上拔下电源线(不会清洁)
- 从系统中删除关键组件(磁盘、电源、CPU、RAM)(绝对不是清理)
- 破坏系统在此处插入您首选的销毁方法(清理并不重要,因为如果没有时间机器你就无法从这种关机中恢复)
视窗:
- 开始 -> 关机
- 在命令提示符下,键入
shutdown /p /f
(您可以执行shutdown /?
标志列表,有很多选择) - 通过网络:(
shutdown \\machinename /y /c
来自 Mark Henderson 的回答)
Linux:
- 在 GUI 中选择关机命令(太依赖 GUI,无法在此提供具体信息)
shutdown -h now
(-h 将关闭电源)init 0
halt
(啊,这让我回想起过去的美好时光sync;sync;halt
:)ssh root@machinename shutdown -h now
(如果你不能以 root 身份使用 ssh,那么请执行sudo shutdown ...
)
FreeBSD的:
shutdown -p now
(-p 将关闭电源)- 在 GUI 中选择关机命令(太依赖 GUI,无法在此提供具体信息)
halt
操作系统:
- 点击任务栏中的苹果 ->
Shut Down
- 从 Terminal.app ->
shutdown -h now
VMware:
- 根据客户操作系统从上面的列表中选择适当的命令。
- 右键单击来宾,选择
Power -> Power Off
(或单击它并按 CTRL+E) - 右键单击客人,选择
Power -> Shut Down Guest
(或单击它并按 CTRL+D) vmrun -T server -h https://IP-OF-HOST:8333/sdk -u user -p password stop "[datastore] guest.vmx"
(假设您有从命令行访问 vmrun 的权限)- 终止主机上的虚拟化进程(不是清理)
Xen:
- 根据客户操作系统从上面的列表中选择适当的命令
xm shutdown machinename
- 终止主机上的虚拟化进程(不是清理)
虚拟盒:
- 根据客户操作系统从上面的列表中选择适当的命令
- 关闭主机窗口,您将看到关闭虚拟机的选项
- 终止主机上的虚拟化进程(不是清理)
我确信还有很多其他的,我会将它们添加到我的答案中(或人们在评论中发布它们)。
答案2
- 视窗:
shutdown \\machinename /y /c
- Xen:
xm shutdown machinename
或者xm destroy machinename
- VMWare:登录 vSphere 管理控制台,右键单击机器并选择“关闭”
如果机器有网络控制的电源板,您可以登录电源板并关闭电源。
答案3
halt
init 0
shutdown -h now
有三个可以在 shell 上运行
答案4
我使用 LogMeIn 远程控制服务器。我们有一个小型基础设施,它工作得很好(而且很安全)。
如果您想“设置后就忘记它”,那么您可以使用一个名为“关闭”的小程序,它也可以很好地在深夜进行远程重启。