目前我正在使用 gnome 的系统监视器。它就像任务管理器,具有结束进程的功能,但有时这会使一切冻结并锁定。有没有办法用命令行更快地完全结束进程?
Joh*_*n T 14
您正在寻找kill命令
要按照您的要求“完全”结束进程,您可以像这样使用 kill :
kill -9 PID
Run Code Online (Sandbox Code Playgroud)
尽管这可能会产生不需要的影响并且会留下临时文件等,但您应该先尝试发送终止信号:
kill -TERM PID
Run Code Online (Sandbox Code Playgroud)
PID您希望杀死的进程的 ID在哪里。无论如何,使用 -9 开关都会终止进程,所以要小心。您可以使用该ps命令确定应用程序的 PID 。如果进程挂起,它很可能使用了相当多的资源,因此您还会使用该top命令在列表顶部附近看到它。系统监视器甚至应该告诉您 PID。
您还可以使用类似的方法来确定 PID:
ps -ax | grep program_name
Run Code Online (Sandbox Code Playgroud)
最左边的数字应该是PID。
vav*_*ava 11
试试 xkill,你可以把小程序放到你的面板上。您只需单击它,然后单击您要杀死的应用程序窗口,它就会立即消失。非常便利。
您可以使用 kill 将所需信号发送到进程 ID。您可以使用 pgrep 找到进程 ID,并使用 pkill向命名进程发送信号。用于使用 pgrep 和 pkill 查找进程的模式通常仅与进程名称匹配。指定 -f 以检查进程的整个命令行。在使用 KILL ('9') 之前从一个 TERM 信号开始(如果没有指定信号,它是默认的),因为彻底杀死一个进程可能会产生不良的副作用。
例如,我将在我的系统上使用 dhclient3 进程。
老方法,ps | 格雷普:
$ 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
Run Code Online (Sandbox Code Playgroud)
杀死 dhclient:
$ kill -9 2539
Run Code Online (Sandbox Code Playgroud)
使用 pgrep/pkill:
$ pgrep dhclient
2539
Run Code Online (Sandbox Code Playgroud)
使用 -f 在命令行中的任何位置指定模式:
$ pgrep -f leases
2539
Run Code Online (Sandbox Code Playgroud)
用 pkill 杀死 dhclient 进程(-f 模式前的信号):
$ pkill -f dhclient3
$ pkill -9 -f dhclient3
Run Code Online (Sandbox Code Playgroud)
关于信号(来自 kill 手册页):
kill 的默认信号是 TERM。使用 -l 或 -L 列出可用信号。特别有用的信号包括 HUP、INT、KILL、STOP、CONT 和 0。替代信号可以通过三种方式指定:-9 -SIGKILL -KILL。负 PID 值?ues 可用于选择整个过程组;请参阅 ps 命令输出中的 PGID 列。-1 的 PID 是特殊的;它表示除kill 进程本身和init 之外的所有进程。