如何从Linux终端管理进程:我们需要知道的10个命令
Linux终端具有许多有用的命令,这些命令可以显示正在运行的进程,将其杀死,并更改其优先级。这篇文章列出了经典的传统命令以及一些更有用的现代命令。
这里的许多命令执行一个功能,并且可以组合在一起,这就是设计程序的Unix理念。其他程序,例如htop,在命令之上提供了一个友好的界面。
top
top命令是查看系统资源使用情况并查看占用最多系统资源的进程的传统方式。 "顶部"显示进程列表,其中使用CPU最多的进程位于顶部。
要退出顶部,请使用Ctrl-C键盘快捷键。此键盘快捷键通常会终止终端中当前正在运行的进程。
htop
htop命令是改进的top。在大多数Linux发行版中,默认情况下未安装它,这是在Ubuntu上安装它所需要的命令:
sudo apt-get install htop
htop以更易于理解的布局显示相同的信息。它还使我们可以使用箭头键选择进程并使用F键执行操作,例如杀死它们或者更改其优先级。
ps
ps命令列出了正在运行的进程。以下命令列出了系统上运行的所有进程:
ps -A
可能一次要读取的进程太多,因此我们可以通过less命令通过管道传递输出,以我们自己的步调滚动它们:
ps -A | less
完成后,按q退出。
我们也可以通过grep通过输出管道来搜索特定进程,而无需使用任何其他命令。以下命令将搜索Firefox进程:
ps -A | grep firefox
pstree
pstree命令是可视化过程的另一种方式。它以树格式显示它们。因此,例如,X服务器和图形环境将出现在生成它们的显示管理器下。
kill
给定进程ID,kill命令可以杀死该进程。我们可以从ps -A,top或者pgrep命令获得此信息。
kill PID
从技术上讲,kill命令可以将任何信号发送到进程。我们可以使用kill -KILL或者kill -9来杀死一个顽固的进程。
pgrep
给定一个搜索词,pgrep返回与其匹配的进程ID。例如,我们可以使用以下命令来查找Firefox的PID:
pgrep firefox
我们也可以将此命令与kill结合使用以杀死特定进程。但是,使用pkill或者killall更简单。
pkill和killall
给定进程名称,pkill和killall命令可以杀死该进程。使用以下任一命令杀死Firefox:
pkill firefox killall firefox
renice
renice命令更改已经运行的进程的值。 nice值确定进程运行的优先级。值-19是非常高的优先级,而值19是非常低的优先级。值0是默认优先级。
renice命令需要一个进程PID。以下命令使进程以非常低的优先级运行:
renice 19 PID
我们也可以将pgrep技巧与renice一起使用。
如果我们使进程以更高的优先级运行,则需要root权限。在Ubuntu上,请使用sudo:
sudo renice -19 #
xkill
xkill命令是一种轻松杀死图形程序的方法。运行它,光标将变成一个x符号。单击一个程序窗口以杀死该程序。如果我们不想终止程序,则可以通过右键单击退出xkill。
我们不必从终端运行此命令,也可以按Alt-F2,键入xkill并按Enter,以从图形桌面使用它。