杀不死的全屏游戏

Caj*_*uke 6 laptop osx-lion macos

在玩文明 V(最近)和其他游戏和应用程序(更早以前)时,偶尔会无法退出,导致我不得不强制重启计算机。

玩一段时间后,有时游戏会锁定。从另一台Mac(我不能与游戏的所有键盘或鼠标走出退出比赛,我也不能互动,虽然我可以移动鼠标指针。)然后我SSH在杀人游戏,并发布kill -9到游戏的PID。然后我再次运行ps以查看它是否被杀死(游戏仍在我的笔记本电脑屏幕上显示),我看到以下内容:

PID   TT  STAT      TIME COMMAND
468   ??  ?E     0:00.00 (Civilization V)
Run Code Online (Sandbox Code Playgroud)

ps联机帮助页中,我看到状态列中的“E”表示进程正在退出。五分钟(左右)后,游戏仍然占据屏幕,冻结,即使过程已经消失。然后我杀死了(每次 -9)所有其他相关的 Steam 进程,然后(绝望地)杀死SystemUIServer了 Dock 以尝试启动某些东西,然后loginwindow强制注销。这些都没有奏效,所以我发布了一个sudo shutdown -r now. 十五分钟后,它没有重新启动,Civ V 仍然在我的屏幕上冻结,我无法通过 ssh 进入受影响的系统(大概是因为关机已经停止了 sshd)。

我真的宁愿不必多次硬重启我的计算机;有没有人有任何想法如何真正杀死文明?

作为记录,我在 i7 MacBook Air 上运行 OS X Lion(最新的单点版本)。

编辑:我已经阅读了另一个半相关的问题,但是杀死父进程也不起作用。

Kyl*_*nes 2

不可终止的进程通常是由以下两种情况之一引起的:调试器正在跟踪该进程,或者(更常见的是)该进程对某个卡住的设备有待处理的 I/O 请求。在后一种情况下,罪魁祸首通常是一个磁盘设备,它抛出硬读/写错误,或者已经变得沉默,而内核还没有放弃它。但连接到系统总线的任何东西都可能出现问题。

对于 USB 和 FireWire 设备,从系统断开外围设备通常可以清除卡住的进程。但是,如果卡住的设备是显卡或其他不可热插拔的设备,则重新启动是清除该过程的唯一选择。