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

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

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

检查Ubuntu Linux中的运行过程

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

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

让我们详细了解Ubuntu Linux的示例和用法。

如何从Ubuntu Linux终端管理进程

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

以下命令显示了系统上运行的所有进程:

{Hyman@ubuntu-box:~}$ ps -aux
{Hyman@ubuntu-box:~}$ sudo ps -a
{Hyman@ubuntu-box:~}$ sudo ps -U Hyman
{Hyman@ubuntu-box:~}$ ps -U tom

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

Hyman    30992  0.0  0.3  40092  3492 pts/0    R+   06:31   0:00 ps -U Hyman -au
  • Hyman用户名
  • `30992'PID(Ubuntu Linux进程ID)
  • 06:31处理开始时间
  • ps -U Hyman -au带有命令行参数的实际过程或命令

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

{Hyman@ubuntu-box:~}$ ps -aux | more
{Hyman@ubuntu-box:~}$ sudo ps -aux | less

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

{Hyman@ubuntu-box:~}$ ps aux | grep nginx
{Hyman@ubuntu-box:~}$ sudo ps aux | grep vim
{Hyman@ubuntu-box:~}$ sudo ps aux | grep chromium-browser
{Hyman@ubuntu-box:~}$ sudo ps -aux | egrep 'sshd|openvpn'

Ubuntu Linux pgrep命令

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

{Hyman@ubuntu-box:~}$ pgrep process
{Hyman@ubuntu-box:~}$ sudo pgrep sshd
{Hyman@ubuntu-box:~}$ pgrep vim
{Hyman@ubuntu-box:~}$ pgrep chromium-browser
{Hyman@ubuntu-box:~}$ pgrep -l nginx

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

Ubuntu Linux top和htop命令

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

{Hyman@ubuntu-box:~}$ top
{Hyman@ubuntu-box:~}$ sudo top
{Hyman@ubuntu-box:~}$ sudo top [options]

从Linux上的CLI可以很容易地使用htop进程查看器。
尝试如下:

{Hyman@ubuntu-box:~}$ htop
{Hyman@ubuntu-box:~}$ sudo htop
{Hyman@ubuntu-box:~}$ sudo htop [options]

按" q"从顶部/顶部Ubuntu Linux命令退出。

Ubuntu Linux Kill命令

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

{Hyman@ubuntu-box:~}$ kill pid
{Hyman@ubuntu-box:~}$ kill -signal pid

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

{Hyman@ubuntu-box:~}$ kill 3932

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

{Hyman@ubuntu-box:~}$ kill -9 3932

或者

{Hyman@ubuntu-box:~}$ kill -KILL 3932

Ubuntu Linux pkill命令

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

{Hyman@ubuntu-box:~}$ pkill processName
{Hyman@ubuntu-box:~}$ pkill vim
{Hyman@ubuntu-box:~}$ pkill firefox
{Hyman@ubuntu-box:~}$ pkill -9 emacs
{Hyman@ubuntu-box:~}$ sudo pkill -KILL php7-fpm

Ubuntu Linux Killall命令

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

{Hyman@ubuntu-box:~}$ killall vim
{Hyman@ubuntu-box:~}$ killall -9 emacs

Ubuntu Linux nice和renice命令

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

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

{Hyman@ubuntu-box:~}$ nice -n 13 cc -c *.c &

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

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

-- Sysadmin
end

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

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