目前我正在使用 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”可用。重复该命令,如果它说没有进程被终止,那么你就完成了你的任务。