如何Linux/Unix Kill X窗口停止,冻结或占用资源的应用程序

时间:2020-01-09 10:41:37  来源:igfitidea点击:

如何杀死正在消耗系统资源且无法从本地或远程X服务器杀死的X Window系统应用程序?
您需要使用xkill命令。
它通过其X资源而不是进程ID杀死客户端。
例如,您的应用程序可能没有响应终止请求。
即使您试图杀死您,也会看到应用程序窗口。

xkill是一个实用程序,用于强制X服务器关闭与客户端的连接。
该程序非常危险,但是对于中止在用户屏幕上显示不希望的窗口的程序很有用。

打开一个终端,输入以下命令:

$ xkill

默认情况下,xkill将显示一个特殊的光标,您应使用该光标选择一个要杀死的窗口。
用按钮1单击要强行中止的应用程序,或选择要杀死其客户端的X窗口/应用程序。
如果在非根窗口上按下了指针按钮,服务器将关闭与该客户端的连接。
创建了窗口。

如何使用X标识符终止应用程序?

一种查找窗口ID的简单方法是运行类似以下的命令:

$ xwininfo

您需要使用鼠标选择目标窗口以获取有关窗口的信息。
这是我的gnome-terminal窗口的示例输出:

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.
 
xwininfo: Window id: 0x6e4c0a7 "Hyman@wks01: ~"
 
  Absolute upper-left X:  2443
  Absolute upper-left Y:  231
  Relative upper-left X:  2443
  Relative upper-left Y:  231
  Width: 983
  Height: 636
  Depth: 32
  Visual: 0x104
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x6e00003 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +2443+231  -414+231  -414-333  +2443-333
  -geometry 80x24+2443+231

记下窗口ID 0x6e4c0a7。
您还可以使用以下语法获取窗口ID:

xwininfo | awk '/Window id:/ {print }'

输出示例:

0x6e4c0a7

最后,运行xkill命令,如下所示:

xkill -id 0x6e4c0a7