如何使用xkill命令杀掉Linux进程/未响应的程序

作者:神秘网友 发布时间:2021-03-02 18:37:38

如何使用xkill命令杀掉Linux进程/未响应的程序

我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令。

说的更明白一点,我们可以找到某个资源(比如terminal)的PID:

$ ps -A | grep -i terminal

6228         00:00:00 gnome-terminal

上面的输出中,6288就是进程(gnome-terminal)的pid, 使用下面的命令来杀掉进程。

$ kill 6228

kill命令会发送一个信号给该pid的进程。

另外一个方法是我们可以使用pkill命令,它可以基于进程的名字或者其他的属性来杀掉进程。同样我们要杀掉一个叫terminal的进程可以这么做:

$ pkill terminal

注意: pkill命令后面进程名的长度不大于15个字符

pkill看上去更加容易上手,因为你你不用找出进程的pid。但是如果你要对系统做更好的控制,那么没有什么可以打败'kill'。使用kill命令可以更好地审视你要杀掉的进程。

我们已经有一篇覆盖了kill、pkill和killall命令细节的指导了。

对于那些运行X Server的人而言,有另外一个工具称为xkill可以将进程从X Window中杀掉而不必传递它的名字或者pid。

xkill工具强制X server关闭与它的客户程序之间的联系,其结果就是X resource关闭了这个客户程序。xkill是X11工具集中一个非常容易上手的杀掉无用窗口的工具。

它支持的选项如在同时运行多个X Server时使用-display选项后面跟上显示号连接到指定的X server,使用-all(并不建议)杀掉所有在屏幕上的所有顶层窗口,以及帧(-frame)参数。

要列出所有的客户程序你可以运行:

$ xlsclients
示例输出
'  ' /usr/lib/libreoffice/program/soffice
deb  gnome-shell
deb  Docky
deb  google-chrome-stable
deb  soffice
deb  gnome-settings-daemon
deb  gnome-terminal-server

如果后面没有跟上资源id,xkill会将鼠标指针变成一个特殊符号,类似于X。只需在你要杀掉的窗口上点击,它就会杀掉它与server端的通信,这个程序就被杀掉了。

$ xkill

如何使用xkill命令杀掉Linux进程/未响应的程序

使用xkill杀掉进程

需要注意的是xkill并不能保证它的通信会被成功杀掉/退出。大多数程序会在与服务端的通信被关闭后杀掉。然而仍有少部分会继续运行。

需要指出的点是:

这个工具只能在X11 server运行的时候才能使用,因为这是X11工具的一部分。 不要在你杀掉一个资源而它没有完全退出时而困惑。 这不是kill的替代品

我需要在linux命令行中使用xkill么

不是,你不必非在命令行中运行xkill。你可以设置一个快捷键,并用它来调用xkill。

下面是如何在典型的gnome3桌面中设置键盘快捷键。

进入设置- 选择键盘。点击'+'并添加一个名字和命令。点击点击新条目并按下你想要的组合键。我的是Ctrl+Alt+Shift+x。

如何使用xkill命令杀掉Linux进程/未响应的程序

Gnome 设置

如何使用xkill命令杀掉Linux进程/未响应的程序

添加快捷键

下次你要杀掉一个X资源只要用组合键就行了(Ctrl+Alt+Shift+x),你看到你的鼠标变成x了。点击想要杀掉的x资源就行了。


via: http://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/

作者:Avishek Kumar 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,跳墙网 荣誉推出


本文章教程介绍完毕,更多请访问跳墙网其他文章教程!

如何使用xkill命令杀掉Linux进程/未响应的程序 相关文章

  1. 如何在RHEL/CentOS 7.0中使用tmpfs

    今天我们来谈谈 Centos 7 中的一个文件系统tmpfs,这是一个将所有文件和文件夹写到虚拟内存中而不是实际写到磁盘中的虚拟文件系统。这意味中tmpfs中所有的内容都是临时的,在tmpfs卸载、系统重启或者电源切断后内容都将会丢失。技术的角度上来说,tmpfs将所

  2. Linux有问必答Linux上如何查看某个进程的线程

    问题 : 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个

  3. Linux 有问必答如何修复 Raspbian 上的 “Encountered a section with no Package:

    问题 : 我在树莓派上安装新版的 Raspbian。但当我使用 sudo apt-get update 命令更新 APT 软件包索引的时候,它抛出下面的错误: E: Encountered a section with no Package: headerE: Problem with MergeList /var/lib/dpkg/statusE: The package lists or

  4. 如何在 Apache 中抵御暴力破解和 DDoS 攻击

    对于那些需要在因特网上提供服务或托管主机的人来说,保证您的系统在面对攻击时的安全是一个重要的事情。 mod_security(一个开源的用于Web应用入侵检测及防护的引擎,可以无缝地集成到Web服务器)和mod_evasive是两个在服务器端对抗暴力破解和(D)DoS攻击的

  5. 在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

    像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好。但是,如果有任何进程正在蚕食你的内存,而你想要清除它的话,Linux 提供了一个刷新或清除RAM缓存方法。 如何在 Linux 中清除缓存(Cache)? 每个 Linux 系统有三种选项来清除

  6. 在linux上使用交换文件扩展交换空间

    想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它扩大。 因此,在这种情况下,我们可以使用交换文件增加swap空间。 以下是使用交换文件在

  7. 如何在 vmware esxi 5.5 中开放 VNC 端口

    1、编辑/etc/vmware/firewall/service.xml vi /etc/vmware/firewall/service.xml 2、在该文件重中倒数第二行开始添加以下内容: !-- Firewall configuration information for VNC -- service id='0040' idVNC/id rule id='0000' directioninbound/direction

  8. 如何在 Ubuntu/Debian/Linux Mint 中编译和安装 wxWidgets

    wxWidgets wxWidgets是一个程序开发框架/库, 允许你在Windows、Mac、Linux中使用相同的代码跨平台开发。它主要用C++写成,但也可以与其他语言绑定比如Python、Perl、Ruby。 本教程中我将向你展示如何在基于Debian的linux中如Ubuntu和Linux Mint中编译wxwidge

  9. 深入 NGINX: 我们如何设计性能和扩展

    NGINX 能在 web 性能中取得领先地位,这是由于其软件设计所决定的。许多 web 服务器和应用程序服务器使用一个简单的基于线程或进程的架构,NGINX 立足于一个复杂的事件驱动的体系结构,使它能够在现代硬件上扩展到成千上万的并发连接。 下面这张深入 NGINX

  10. 如何在 CentOS 7 上安装 Percona服务器

    在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品。InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比的解决方案,它将是一个很好的选择。 在下文中将介绍在CentOS 7上 Percona 服务

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词