如何使用命令行检查Ubuntu中的运行进程
如何使用命令行选项检查Ubuntu中的运行进程?
可以使用Ubuntu命令行或终端应用程序显示正在运行的进程,更改其优先级,删除进程等等。
该页面显示了如何在Ubuntu上使用各种命令来列出,终止和管理进程。
检查Ubuntu中的运行过程
使用命令行监视Ubuntu中正在运行的进程的过程如下:
- 在Ubuntu上打开终端窗口
- 对于远程Ubuntu服务器,请使用ssh命令进行登录
- 执行ps aux命令以查看Ubuntu中所有正在运行的进程
- 或者,您可以发出top命令来查看Ubuntu中的运行进程。
如何从Ubuntu终端管理进程
ps命令是传统的Ubuntu Linux命令,用于列出正在运行的进程。
以下命令显示了在基于Ubuntu的系统上运行的所有进程:
[Hyman@ubuntuLTS:~]$ ps -aux [Hyman@ubuntuLTS:~]$ sudo ps -a
进程ID(PID)对于在Ubuntu上终止或控制进程至关重要。例如,考虑以下输出:
esha 42421 0.0 0.0 13160 8452 - S 22:18 0:00.03 firefox
- esha用户名
42421
PID(Ubuntu Linux进程ID)22:18
处理开始时间- firefox实际过程或命令
可能有太多的过程。
因此,可以使用以下less/more命令作为管道来一次显示一个屏幕的进程:
[Hyman@ubuntuLTS:~]$ ps -aux | more [Hyman@ubuntuLTS:~]$ sudo ps -aux | less
按" q"退出Ubuntu Linux传呼机。
您可以使用grep命令/egrep命令搜索特定的Ubuntu进程:
[Hyman@ubuntuLTS:~]$ ps aux | grep nginx [Hyman@ubuntuLTS:~]$ sudo ps aux | grep vim [Hyman@ubuntuLTS:~]$ sudo ps -aux | egrep 'sshd|openvpn'
pgrep命令
Ubuntu带有pgrep命令来搜索/查找进程。
语法为:
[Hyman@ubuntuLTS:~]$ pgrep process [Hyman@ubuntuLTS:~]$ sudo pgrep sshd [Hyman@ubuntuLTS:~]$ pgrep vim [Hyman@ubuntuLTS:~]$ pgrep -l test.sh
传递给pgrep命令的-l选项也可以显示长格式和进程名。
top
强烈建议使用" top"命令查看您的Ubuntu服务器资源使用情况。
可以看到使用最多的内存,CPU或磁盘的最重要进程的列表。
运行:
[Hyman@ubuntuLTS:~]$ top [Hyman@ubuntuLTS:~]$ sudo top [Hyman@ubuntuLTS:~]$ sudo top [options]
Ubuntu Kill命令
如果要杀死Ubuntu上的进程吗?
试试kill
命令。
语法为:
[Hyman@ubuntuLTS:~]$ kill pid [Hyman@ubuntuLTS:~]$ kill -signal pid
使用ps,pgrep或top命令查找PID。
假设您想杀死PID 25123,请运行:
[Hyman@ubuntuLTS:~]$ kill 25123
由于某种原因,如果无法终止该进程,请尝试强制终止:
[Hyman@ubuntuLTS:~]$ kill -9 25123
或者
[Hyman@ubuntuLTS:~]$ kill -KILL 25123
pkill命令
如果您想按名称杀死进程,请在Ubuntu上尝试使用pkill命令。
语法为:
[Hyman@ubuntuLTS:~]$ pkill processName [Hyman@ubuntuLTS:~]$ pkill vim [Hyman@ubuntuLTS:~]$ pkill firefox [Hyman@ubuntuLTS:~]$ pkill -9 emacs [Hyman@ubuntuLTS:~]$ sudo pkill -KILL php7-fpm
killall命令
" killall"命令按名称杀死进程,而不是像kill命令那样按PID选择进程:
[Hyman@ubuntuLTS:~]$ killall vim [Hyman@ubuntuLTS:~]$ killall -9 emacs
nice命令
" nice"命令的主要目的是以较低或较高的优先级运行进程/命令。
使用" renice"命令更改一个或多个正在运行的Ubuntu进程的值。
nice值的范围可以从-20到19,其中19是最低优先级。
假设您要在繁忙的Ubuntu Linux 18.04 LTS服务器上编译软件。
您可以设置一个非常低的优先级,执行:
[Hyman@ubuntuLTS:~]$ nice -n 13 cc -c *.c &
为内核更新设置很高的优先级。
在重启Ubuntu服务器之前,运行:
[Hyman@ubuntuLTS:~]$ nice --10 wall <<end System reboots in 5 minutes for Ubuntu Linux kernel update! Save all your work!!! -- Sysadmin end
要更改正在运行的进程的优先级,请执行以下内容:
[Hyman@ubuntuLTS:~]$ renice {Priority} -p {PID} [Hyman@ubuntuLTS:~]$ renice {Priority} {PID} [Hyman@ubuntuLTS:~]$ pgrep vim [Hyman@ubuntuLTS:~]$ renice 10 69947 [Hyman@ubuntuLTS:~]$ sudo renice -10 $(pgrep vim)