Linux杀手命令初学者教程(5个例子)
有时,在Linux机器上工作时,会看到应用程序或命令行进程卡住(变为无响应)。 那么在这些情况下,终止它是唯一的出路。 Linux命令行提供了一个可以在这些场景中使用的实用程序。 这就是所谓的杀人 。
在本教程中,我们将使用一些易于理解的示例来讨论kill的基本知识。 但在这之前,值得一提的是本文中的所有示例都已在Ubuntu 16.04机器上进行了测试。
Linux kill命令
kill命令通常用来杀死一个进程。 它在内部发送一个信号,根据你想要做的事情,你可以使用这个工具发送不同的信号。 以下是该命令的语法:
kill [options] <pid> [...]
以下是该工具的手册页如何描述它:
The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful
signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways:
-9, -SIGKILL or -KILL. Negative PID values may be used to choose whole process groups; see the PGID
column in ps command output. A PID of -1 is special; it indicates all processes except the kill
process itself and init.
下面的Q&A样式的例子应该让你更好地了解kill命令是如何工作的。
Q1。 如何使用kill命令终止进程?
这非常简单 - 您只需要获取要杀死的进程的pid,然后将其传递给kill命令。
kill [pid]
例如,我想杀死我的系统上的“gthumb”进程。 所以我首先使用ps命令来获取应用程序的pid,然后将其传递给kill命令来终止它。 以下是显示所有这些的截图:
Q2。 如何发送自定义信号?
正如介绍部分已经提到的那样,TERM是kill发送给相关应用程序/进程的默认信号。 但是,如果需要,可以使用-s命令行选项发送任何其他支持kill的信号。
kill -s [signal] [pid]
例如,如果某个进程没有响应TERM信号(允许进程在退出前进行最终清理),则可以使用KILL信号(不允许进程进行任何清理)。 以下是在这种情况下需要运行的命令。
kill -s KILL [pid]
Q3。 你可以用kill发送什么信号?
当然,下一个你会想到的逻辑问题是如何知道你可以使用kill来发送哪些信号。 那么,幸好有一个命令行选项-l列出了所有支持的信号。
kill -l
以下是我们系统上面的输出命令:
Q4。 信号可以发送的其他方式是什么?
在前面的例子之一中,我们告诉过你是否要发送KILL信号,你可以通过以下方式来完成:
kill -s KILL [pid]
不过,还有其他一些选择:
kill -s SIGKILL [pid]
kill -s 9 [pid]
可以使用前面例子中已经讨论过的-l选项来知道相应的数字。
Q5。 如何一次性杀死所有正在运行的进程?
如果用户想要杀死所有可能的进程(这取决于他们的特权级别),那么不用指定大量的进程ID,他们可以简单地通过-1选项来杀死。
例如:
kill -s KILL -1
结论
kill命令对于理解和使用非常简单。 从它提供的信号选项列表来看,有一个轻微的学习曲线,但正如我们在这里解释的,还有一个选项可以快速查看该列表。 只要练习我们讨论过的任何事情,你就应该好好去。 有关更多信息,请转到该工具的手册页 。