从Linux终端管理进程:10个你必须知道的命令

系统 Linux
Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新颖的命令。本文提到的命令会实现某个单一功能。其它命令,例如htop,会在命令的上层提供一个友好的界面供用户使用。

Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新颖的命令。本文提到的命令会实现某个单一功能。它们可以结合起来——这也是Unix设计程序的理念。其它命令,例如htop,会在命令的上层提供一个友好的界面供用户使用。

top

top命令是一个常用的查看系统资源使用情况和查看占用系统资源最多的进程的命令。top以列形式显示所有的进程,占最多CPU资源的进程会显示在最上面。

要退出top或者htop,可以使用键盘快捷键Ctrl-C。这个键盘快捷键通常会终止目前在终端上运行的进程。

htop

htop命令是top的改进版。默认情况下,大多数Linux发行版本都没有安装htop——在Ubuntu系统上安装可以运行以下命令:

  1. sudo apt-get install htop 

htop命令显示的信息与top相同,但它的界面更人性化。你可以使用键盘箭头键选择进程和采取某些动作,例如杀死进程或者改变它们的优先级。

过去我们详细解释过htop。

ps

ps命令可以列出正在运行的进程。以下命令列出所有在你系统上运行的命令:

  1. ps -A 

这个命令列出的信息也许太多,不方便阅读。你可以使用less命令对输出进行管道,这样你就可以按你的速度滚动阅读:

  1. ps -A | less 

当你阅读完后,可以按q退出。

你也可以使用grep来对输出做管道,这样可以不需要使用其它命令就能搜索出某个进程。以下命令会搜索Firefox进程:

  1. ps -A | grep firefox 

pstree

pstree命令也可以显示进程信息。它以树的形式显示进程。例如,你的x系统和图形环境会出现在产生树状进程的显示管理器的下面。

kill

kill命令可以根据进程ID来杀死进程。你可以使用ps -A,top,或者grep命令获取到进程ID。

  1. kill pid 

从技术层面来讲,kill命令可以发送任何信号给一个进程。你可以使用kill -KILL或者kill -9来杀死顽固的进程。

pgrep

给定一个搜索关键词,pgrep命令会返回所有匹配这个关键词的进程ID。例如,你可以使用以下命令寻找Firefox的PID:

  1. pgrep firefox 

你也可以将这个命令与kill命令结合起来杀死一个特定的进程。但是,使用pkill或者killall会更简单。

pkill & killall

pkill和killall命令可以根据进程的名字杀死一个进程。使用以下任一方法都可以杀死Firefox进程:

  1. pkill firefox 
  2. killall firefox 

renice

renice命令用来改变进程的nice值。nice值代表进程的优先级。-19的nice值是非常高的优先级,相反,19是非常低的优先级。0是默认的优先级。

运行renice命令需要使用进程的ID。以下命令可以让某个进程以非常低的优先级运行。

  1. renice 19 pid 

你可以把pregrep和renice结合起来使用,如上图所示。

如果你想把进程的优先级调高,那么你需要使用root权限。在Ubuntu系统,使用sudo获取root权限:

  1. sudo renice -19 # 

xkill

xkill命令是一个可以轻易杀死图形程度的命令。运行它之后,你的光标会变成x符号。点击相应的图形程序的窗口就可以杀死该程序。如果你中途要放弃操作,你可以点击鼠标右键取消。

你不一定要在终端运行这个命令——你可以在图形桌面上按Alt-F2,输入xkill然后按回车键来运行它。我们已经将xkill和热键绑定,这样杀死进程就更容易了。

你有没有一些喜爱的命令我们这里又没有提及的,或者其它一些小技巧可以分享的?请留下你的评论。

原文链接: Chris Hoffman 翻译: 极客范 - Ben Zhang

译文链接: http://www.geekfan.net/7411/

责任编辑:黄丹 来源: 极客范
相关推荐

2015-07-23 10:37:13

Linux命令

2020-04-28 10:03:12

前端开发Mac

2016-05-12 15:47:08

IBM大型机 LinuxONE

2019-01-08 10:29:12

BeautifulSoPython第三库

2020-02-28 14:05:00

Linuxshell命令

2014-03-06 14:42:36

Linux命令行

2013-06-26 11:23:40

JVM命令行JavaJVM

2013-06-26 09:01:22

JVMJava

2023-12-27 18:10:05

PyTorch工具框架

2011-05-11 15:28:05

2017-12-07 15:47:25

2012-09-29 09:22:24

.NETGC内存分配

2017-12-07 15:28:36

2012-09-29 10:29:56

.Net内存分配继承

2009-04-17 09:50:49

软件架构云计算SOA

2009-06-04 10:20:34

Hibernate持久化Java

2021-09-15 09:20:37

Python函数代码

2023-12-12 17:46:33

系统kswapd0内核

2022-06-20 22:37:25

Linux操作系统命令

2021-10-29 08:44:22

推拉机制面试broker
点赞
收藏

51CTO技术栈公众号