📜  Linux 中的 killall 命令和示例

📅  最后修改于: 2022-05-13 01:57:34.532000             🧑  作者: Mango

Linux 中的 killall 命令和示例

你有没有遇到过这样的情况,你执行了一个程序或一个应用程序,在你使用应用程序的时候突然停止并开始崩溃?您尝试再次开始申请,但由于第一个申请措施从未真正完全关闭,因此没有任何反应。安排是结束申请周期。幸运的是,Linux 中有一些实用程序允许您执行终止进程。

建议在继续之前阅读 kill 命令。

kill 和 killall 命令之间的主要对比是“kill”根据进程 ID 号 (PID) 结束进程周期,而 killall 命令根据它们的名称和不同属性结束运行周期。普通用户可以结束/杀死自己的循环(进程),但不能与不同用户有位置的循环(进程),而根客户端可以结束所有循环。

ionice 设备确认随附的替代方案:

Tag



Description

-e,–exact require an exact match for very long names
-I,–ignore-casecase insensitive process name match
-g,–process-groupkill process group instead of process
-y,–younger-thankill processes younger than TIME
-o,–older-thankill processes older than TIME
-i,–interactive ask for confirmation before killing
-l,–listlist all known signal names
-q,–quietdon’t print complaints
-r,–regexpinterpret NAME as an extended regular expression
-s,–signal SIGNALsend this signal instead of SIGTERM
-u,–user USER kill the only process(es) running as USER
-v,–verbosereport if the signal was successfully sent
-V,–versiondisplay version information
-w,–waitwait for processes to die
-n,–ns PIDmatch processes that belong to the same namespaces as PID or 0 for all namespaces

要了解 kill 和 killall 命令之间的对比,我们首先需要确保我们理解 Linux 操作系统上循环背后的具体细节。该进程是一个正在运行的系统的一个事件。每个进程周期都分配了一个 PID(进程 ID),这对于每个周期来说都是显着的,这样,没有两个周期可以分配相同的 PID。当循环结束时,PID 可访问以供重用。

使用 killall 命令

一般语法:

killall [ -Z CONTEXT ] [ -u USER ] [ -y TIME ] [ -o TIME ] [ -eIgiqrvw ] [ -s SIGNAL | -SIGNAL ] NAME...

1.下面的命令将开始进程 yes 并将其标准输出生成到/dev/null。我们在这里热衷的是第二行,其中包含随附的数据“[1]”(工作 ID)和“16017”真正的 PID。在您的 Linux 操作系统上,您可以在某个随机时间运行多个循环,并且每个循环都可以使用 kill 或 killall 命令结束,视客户利益而定。

$ yes > /dev/null &
$ yes > /dev/null &”></figure> <p style= 2.从上面可以看出,我们已经开始使用 yes 顺序的额外循环,并且每个循环都有不同的 PID。要列出从当前 shell 分叉的所有度量,请使用“jobs”命令:
$ jobs

linux下的jobs命令

3. kill 命令与 killall 命令之间的对比是,使用 kill 命令我们可以在那个点结束一个单独的循环,尽管使用 killall 命令我们可以根据给定的模型结束多个循环,例如,进程组、进程年龄或客户端特权。现在,我们将使用“kill”命令终止PID为“16022”的进程:

$ sudo kill 16022

杀死一个进程

现在,根据上面的命令,我们已经终止了 PID 为 16022 的进程,并且它被处理为 no。 [4]。我们还可以通过给出“jobs”命令来验证命令的执行:

列出工作

4.单独结束每个周期可能会导致繁重的重复性工作。我们应该看看我们是否可以通过使用killall命令和进程周期名称来获得一些帮助:

$ sudo killall yes

杀死所有

现在,我们可以很容易地观察到所有以“yes”为名运行的进程都已成功终止。