如何使用命令行检查Linux中的运行过程

时间:2020-01-09 14:16:56  来源:igfitidea点击:

如何使用命令行选项检查Linux中的运行进程?
可以使用Linux命令行或终端应用程序显示正在运行的进程,更改其优先级,删除进程等等。
该页面显示了如何使用各种命令来列出,终止和管理Linux上的进程。

检查Linux中的运行过程

使用命令行监视Linux中正在运行的进程的过程如下:

  • 在Linux上打开终端窗口
  • 对于远程Linux服务器,请使用ssh命令进行登录
  • 执行ps aux命令以查看Linux中所有正在运行的进程
  • 或者,您可以发出top命令或htop命令来查看Linux中的运行过程

让我们详细了解一些示例和用法。

如何从Linux终端管理进程

ps命令是传统的Linux命令,用于列出正在运行的进程。

以下命令显示了在基于Linux的服务器或系统上运行的所有进程:

Hyman@theitroad:~$ ps -aux
Hyman@theitroad:~$ sudo ps -a

进程ID(PID)对于在Linux上终止或控制进程至关重要。例如,考虑以下输出:

root         1  0.0  0.0 225868  9760 ?        Ss   19:10   0:13 /sbin/init splash
  • root用户名
  • PID 1(Linux进程ID)
  • 19:10处理开始时间
  • /sbin/init splash实际过程或命令

可能有太多的过程。
因此,可以使用以下less/more命令作为管道来一次显示一个屏幕的进程:

Hyman@theitroad:~$ ps -aux | more
Hyman@theitroad:~$ sudo ps -aux | less

按" q"退出以上Linux界面。
您可以使用grep命令/egrep命令搜索特定的Linux进程:

Hyman@theitroad:~$ ps aux | grep firefox
Hyman@theitroad:~$ sudo ps aux | grep vim
Hyman@theitroad:~$ sudo ps -aux | egrep 'sshd|openvpn|nginx'

Linux pgrep命令

Linux的许多变体都带有pgrep命令来搜索/查找进程。
语法为:

Hyman@theitroad:~$ pgrep {process}
Hyman@theitroad:~$ sudo pgrep sshd
Hyman@theitroad:~$ pgrep vim
Hyman@theitroad:~$ pgrep firefox
Hyman@theitroad:~$ pgrep -l nginx

传递给pgrep命令的-l选项也可以显示长格式和进程名。

Linux top命令

强烈建议使用" top"命令来查看Linux服务器资源使用情况。
可以看到使用最多的内存,CPU或磁盘的最重要进程的列表。

Hyman@theitroad:~$ top
Hyman@theitroad:~$ sudo top
Hyman@theitroad:~$ sudo top [options]

按" q"退出最高级会话,按" h"获得帮助。

Linux htop命令

" htop"命令是一个交互式进程查看器,是Linux用户的推荐方法。
您可以看到使用最多的内存,CPU或磁盘以及更多资源的顶级进程列表:

Hyman@theitroad:~$ htop
Hyman@theitroad:~$ sudo htop
Hyman@theitroad:~$ sudo htop [options]

Linux kill命令

想杀死一个进程吗?
试试kill命令。
语法为:

Hyman@theitroad:~$ kill pid
Hyman@theitroad:~$ kill -signal pid

使用ps,pgrep或top命令查找PID。
假设您想杀死PID 16750,请运行:

Hyman@theitroad:~$ kill 16750

由于某种原因,如果无法终止该进程,请尝试强制终止:

Hyman@theitroad:~$ kill -9 16750

或者

Hyman@theitroad:~$ kill -KILL 16750

Linux pkill命令

如果要按名称终止进程,请尝试使用pkill命令。
语法为:

Hyman@theitroad:~$ pkill processName
Hyman@theitroad:~$ pkill vim
Hyman@theitroad:~$ pkill firefox
Hyman@theitroad:~$ pkill -9 emacs
Hyman@theitroad:~$ sudo pkill -KILL php7-fpm

Linux Killall命令

" killall"命令按名称杀死进程,而不是像kill命令那样按PID选择进程:

Hyman@theitroad:~$ killall vim
Hyman@theitroad:~$ killall -9 emacs

Linux nice和renice命令

" nice"命令的主要目的是以较低或较高的优先级运行进程/命令。
使用" renice"命令更改一个或多个正在运行的Linux进程的值。

nice值的范围可以从-20到19,其中19是最低优先级。
假设您要在繁忙的Linux服务器上编译软件。
您可以设置一个非常低的优先级,执行:

Hyman@theitroad:~$ nice -n 13 cc -c *.c &

为内核更新设置很高的优先级。
在重新引导Linux服务器之前,请运行:

nice --10 wall <<end
System reboots in 5 minutes for Linux kernel update! 
Save all your work!!!
 
-- Sysadmin
end

要更改正在运行的进程的优先级,请执行以下内容:

Hyman@theitroad:~$ renice {Priority} -p {PID}
Hyman@theitroad:~$ renice {Priority} {PID}
Hyman@theitroad:~$ pgrep vim
renice 10 69947
Hyman@theitroad:~$ sudo renice -10 $(pgrep vim)