如何在Linux系统中查看当前运行的进程?

在Linux系统中,可以使用ps命令来查看系统进程。输入ps aux可以列出所有进程的详细信息,包括用户、进程ID(PID)、CPU和内存使用情况等。

在Linux操作系统中,查看系统进程是一项基本且重要的任务,通过了解当前运行的进程,管理员可以监控系统资源使用情况,排查问题并进行性能优化,本文将详细介绍如何使用各种命令和工具来查看和管理Linux系统中的进程。

如何在Linux系统中查看当前运行的进程?

使用ps命令查看进程

ps(process status)是最常用的查看进程的命令之一,它提供了关于当前系统活动进程的信息。

常用选项:

ps aux:显示所有用户的所有进程。

ps -ef:以完整格式显示进程信息。

ps -eo pid,comm,args,%mem,%cpu --sort=-%mem:按内存使用率排序显示进程信息。

示例:

ps aux

输出:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  22564  1328 ?        Ss   10:00   0:01 /sbin/init
...

使用top命令实时监控进程

top命令是一个交互式实用程序,用于实时显示系统中各个进程的资源占用情况。

常用操作:

h:显示帮助。

q:退出top

k:杀死一个进程。

r:重新调整进程优先级(renice)。

示例:

top

输出(部分):

top 10:27:56 up 1 day,  2:23,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.5 sy,  0.0 ni, 98.5 id,  0.5 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2048524 total,   327680 free,   112648 used,  1608240 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1685568 avail Mem 
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                              
1234 user1    20   0  123456   7890   1234 S   0.5  0.4   0:01.00 some_command                                                            
...

使用htop命令增强版top

htoptop命令的增强版,提供更友好的用户界面和更多功能。

安装:

在Debian/Ubuntu上:

sudo apt-get install htop

在CentOS/RHEL上:

sudo yum install htop

示例:

htop

输出(部分):

F1   Help     F2   Setup    F3   Search    F4   Filter    F5   Tree    F6   Sort by    F7   Quit
...

使用pgrep和pkill管理进程

pgrep用于查找匹配条件的进程,pkill用于根据条件终止进程。

示例:

查找名为some_command的进程:

pgrep some_command

终止名为some_command的进程:

pkill some_command

使用systemctl管理服务进程

systemctl是用于控制systemd系统和服务管理器的命令。

常用命令:

systemctl status <service>:查看服务状态。

systemctl start <service>:启动服务。

systemctl stop <service>:停止服务。

如何在Linux系统中查看当前运行的进程?

systemctl restart <service>:重启服务。

systemctl enable <service>:开机自启服务。

systemctl disable <service>:取消开机自启服务。

示例:

查看nginx服务状态:

systemctl status nginx

启动nginx服务:

sudo systemctl start nginx

6. 使用netstat和ss查看网络连接

netstatss命令用于查看系统的网络连接和端口使用情况。

netstat命令示例:

netstat -tuln

输出(部分):

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd           
tcp6       0      0 :::80                   :::*                    LISTEN      5678/nginx: master p
...

ss命令示例:

ss -tuln

输出(部分):

State      Recv-Q Send-Q        Local Address:Port                Peer Address:Port              
LISTEN      0      128              0.0.0.0:22                        0.0.0.0:*                       
LISTEN      0      128                 [::]:80                         [::]:*                        
...

使用lsof列出打开的文件

lsof(list open files)命令用于列出系统中打开的文件及其对应的进程。

示例:

列出所有打开的文件:

lsof -i

列出特定端口的打开文件:

lsof -i :80

输出(部分):

COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx       5678 root    6u IPv4  12345      0t0  TCP *:http (LISTEN)
...

使用vmstat查看系统性能指标

vmstat命令用于报告虚拟内存统计信息、进程、CPU活动等。

示例:

每秒刷新一次,共显示5次:

vmstat 1 5

输出(部分):

procs -----------memory------------swap------io----system-------cpu-----
 r  b   swpd  free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 123456 12345678    12345    12345    12345    12345    12345    12345    1  10  1  85  5  0  0
...

使用free查看内存使用情况

free命令用于显示系统的内存使用情况。

示例:

free -h

输出:

              total        used        free      shared  buff/cache   available
Mem:            2048        1234         789           123         987          567
Swap:          2097        0           2097

使用df查看磁盘使用情况

df(disk free)命令用于显示文件系统的磁盘空间使用情况。

示例:

df -h

输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       50G   20G   28G   42% /
tmpfs           16G     0   16G    0% /dev/shm
...

使用du查看目录或文件的大小

du(disk usage)命令用于显示文件和目录的磁盘使用情况。

示例:

查看当前目录及其子目录的大小:

如何在Linux系统中查看当前运行的进程?

du -sh

输出(部分):

12K    ./file1.txt
4、0K   ./file2.txt
20K    ./dir1
...

使用iostat查看IO设备负载

iostat命令用于监控系统输入输出设备的负载情况。

示例:

每秒刷新一次,共显示5次:

iostat 1 5

输出(部分):

Device            rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz  await r_await w_await svctm  %util
sda               12.34     23.45     67.89   34.56     7890     1234      123.45     0.56    1.23    0.67    0.98   12.34   56.78%
...

FAQs

Q1:ps命令有哪些常用的参数?

A:ps命令有许多参数,以下是一些常用的:

ps aux:显示所有进程。

ps -ef:显示所有进程的详细信息。

ps -u <username>:显示指定用户的进程。

ps -C <command>:显示运行特定命令的进程。

ps -o <options>:自定义输出格式,例如ps -eo pid,comm,args

ps --help:查看所有可用参数。

Q2:top命令如何保存输出到文件?

A: 你可以使用重定向符号将top命令的输出保存到文件中,

top -b -n 1 > top_output.txt

-b表示批处理模式,-n 1表示只刷新一次,这样,输出将被保存到top_output.txt文件中。

Q3:htop命令有哪些快捷键?

A:htop提供了许多快捷键,使操作更加便捷:

F1:帮助。

F2:设置。

F3:搜索。

F4:过滤。

F5:树状视图。

F6:排序。

F7:减少nice值。

F8:增加nice值。

F9:发送信号。

F10:退出。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1265530.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希的头像未希新媒体运营
上一篇 2024-11-05 11:17
下一篇 2024-10-09

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入