Linux 上相当于“结束进程”

Linux 上相当于“结束进程”

目前我正在使用 gnome 的系统监视器。它类似于任务管理器,具有结束进程的功能,但有时这会使所有内容冻结并锁定。有没有办法更快地使用命令行完全结束进程?

答案1

试试 xkill,你可以把一个小程序放到面板上。你只需点击它,然后点击你想关闭的应用程序窗口,它就会立即消失。非常方便。

答案2

您正在寻找命令

要按照您的要求“完全”结束一个进程,您可以像这样使用 kill:

kill -9 PID

尽管这可能会产生不良影响并留下临时文件等,但您应该先尝试发送终止信号:

kill -TERM PID

您希望终止的进程的 ID 在哪里PID。使用 -9 开关无论如何都会终止进程,因此请小心使用。您可以使用该ps命令确定应用程序的 PID。如果进程挂起,则它可能会使用相当多的资源,因此您还会使用该命令在列表顶部附近看到它top。系统监视器甚至应该告诉您 PID。

您还可以使用类似这样的方法来确定 PID:

ps -ax | grep program_name

最左边的数字应该是 PID。

答案3

您可以使用 kill 向进程 ID 发送所需的信号。您可以使用 pgrep 找到进程 ID,然后向使用 pkill 命名进程。使用 pgrep 和 pkill 查找进程的模式通常仅与进程名称匹配。指定 -f 以检查进程的整个命令行。在使用 KILL(“9”)之前,请先使用 TERM 信号(如果未指定信号,则为默认信号),因为直接终止进程可能会产生不良的副作用。

为了举例,我将在我的系统上使用 dhclient3 进程。

老办法,ps | grep:

$ ps awux | grep dhclient3
root      2539  0.0  0.1   2200   220 ?        S<s  Jul28   0:00 dhclient3 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0
1000     12734  0.0  0.5   3184   732 pts/3    R+   21:58   0:00 grep dhclient3

终止 dhclient:

$ kill -9 2539

使用 pgrep/pkill:

$ pgrep dhclient
2539

使用 -f 在命令行的任意位置指定模式:

$ pgrep -f leases
2539

使用 pkill 终止 dhclient 进程(在 -f 模式之前发出信号):

$ pkill -f dhclient3
$ pkill -9 -f dhclient3

关于信号(来自 kill 手册页):

kill 的默认信号是 TERM。使用 -l 或 -L 列出可用信号。特别有用的信号包括 HUP、INT、KILL、STOP、CONT 和 0。备用信号可以用三种方式指定:-9 -SIGKILL -KILL。可以使用负 PID 值来选择整个进程组;请参阅 ps 命令输出中的 PGID 列。PID 为 -1 是特殊的;它表示除 kill 进程本身和 init 之外的所有进程。

答案4

我喜欢用全杀因为它允许您按 Tab 键浏览正在运行的进程的名称,如果您使用 zsh,它会为您提供一个正在运行的进程列表。从要终止的进程的首字母开始,然后按 Tab 键。

killall fi

按下那里的标签将显示我有“firefox”可用。重复该命令,如果它说没有进程被终止,那么你就完成了你的任务。

相关内容