首页  >  文章  >  linux怎么查看进程在干什么

linux怎么查看进程在干什么

百草
百草原创
2023-07-11 13:19:324691浏览

linux查看进程在干什么的方法:1、ps命令,可以列出当前用户的所有进程;2、top命令,可以实时显示系统的进程情况;3、htop命令,是top的改进版,可以提供更多的交互式功能;4、pstree命令,可以以树形结构显示进程之间的关系;5、lsof命令,可以显示当前系统中打开的文件和网络连接。

linux怎么查看进程在干什么

本文操作环境:linux 5.18.14系统、DELL G3电脑。

一、在Linux系统中,可以使用以下命令详细查看正在运行的进程:

1. ps命令:ps命令可以列出当前用户的所有进程。常用的参数包括-a,-u,-x等。例如,使用ps -aux命令可以列出所有进程的详细信息,包括进程ID,父进程ID,用户,CPU占用率,内存占用率等。

2. top命令:top命令可以实时显示系统的进程情况。可以通过交互式界面实时刷新进程列表,并按各种方式排序。可以使用top -c命令显示进程的完整命令行。

3. htop命令:htop是top的改进版,可以提供更多的交互式功能,并可以使用鼠标进行操作。htop同样可以显示进程的详细信息。

4. pstree命令:pstree命令可以以树形结构显示进程之间的关系。可以使用pstree -p命令显示进程的PID。

5. lsof命令:lsof命令可以显示当前系统中打开的文件和网络连接。使用-l参数可以显示进程的详细信息,包括进程的PID和进程的用户。

总之,以上这些命令都可以用来查看正在运行的进程,不同的命令适用于不同的场合。根据自己的需求选择适合的命令即可。

二、每个进程状态所表示的含义

1、R:运行

表示进程正在运行或在允许队列中等待。

2、S:中断

表示进程处于休眠中,当某个条件形成后或接收到信号时,则脱离中断的状态。

3、D:不可中断

表示进程不响应系统异步信号,即便用 kill 命令也不能将其中断。

4、Z:僵死

表示进程已经终止,但进程描述符依然存在,直到父进程调用 wait(4) 系统函数后将进程释放。

5、T:停止

表示进程收到停止信号后停止运行。

三、状态

[root@mycentos ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 191120  3588 ?        Ss    2021  25:59 /usr/lib/systemd/systemd --system --deserialize 19
root         2  0.0  0.0      0     0 ?        S     2021   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        S<    2021   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S     2021   1:51 [ksoftirqd/0]
root         7  0.0  0.0      0     0 ?        S     2021   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S     2021   0:00 [rcu_bh]
1、USER:进程的所有者
2、PID: 进程ID号
3、%CPU:运算器占用率
4、%MEM:内存占用率
5、VSZ: 虚拟内存使用量,单位KB
6、RSS: 占用的固定内存量,单位KB
7、TTY: 所在终端
8、STAT:进程状态
9、START: 进程被启动的时间
10、TIME: 实际使用CPU的时间
11、COMMEND: 命令名称和参数

四、top 命令用于动态监视进程活动和系统负载的信息。

top 命令相当强大,能够动态的查看系统运维状态。

linux怎么查看进程在干什么

1、top 每行所表示的含义

[root@mycentos ~]# top
top - 13:45:38 up 267 days, 14:36,  1 user,  load average: 0.01, 0.06, 0.05
Tasks: 107 total,   1 running, 106 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  1.3 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1881820 total,    92160 free,   631276 used,  1158384 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1037740 avail Mem 
 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                               
20797 root      10 -10  148748  20952   6844 S  2.0  1.1 191:48.06 AliYunDun                                                                                             
 6728 redis     20   0  143200   2684   1268 S  0.3  0.1  17:55.69 redis-server                                                                                          
11156 rabbitmq  20   0 1820368  74484   2644 S  0.3  4.0 106:56.41 beam.smp                                                                                              
29954 polkitd   20   0   52812   2340    700 S  0.3  0.1  40:13.73 redis-server                                                                                          
    1 root      20   0  191120   3588   2044 S  0.0  0.2  26:00.01 systemd 
备注:
top 命令执行结果的前5行为系统整体的统计信息
1、第1行:系统时间、运行时间、登录终端数量、系统负载(3个数值分别表示:
    1分钟,5分钟,15分钟内的平均负载值,数值越小意味着负载越低)。
2、第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
3、第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、
    空闲的资源百分比。(这一行中的数据均为 cpu 数据并以百分比格式显示,
    比如:"97.3 id"表示有 97.3%的CPU处理器资源处于空闲)
4、第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。
5、第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。

五、查看某个服务的进程ID

[root@mycentos ~]# pidof mysqld 
27748
 
 
备注:
pidof 服务名称
 
pidof 命令用于查询某个指定服务进程的PID 值。 每个进程的进程号(PID)是唯一的,
    因此可以通过PID来区分不同的进程。

以上是linux怎么查看进程在干什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn