>일반적인 문제 >리눅스에서 프로세스가 무엇을 하고 있는지 확인하는 방법

리눅스에서 프로세스가 무엇을 하고 있는지 확인하는 방법

百草
百草원래의
2023-07-11 13:19:324732검색

Linux에서 어떤 프로세스가 수행되고 있는지 확인하는 방법: 1. 현재 사용자의 모든 프로세스를 나열할 수 있는 ps 명령 2. 시스템의 프로세스 상태를 실시간으로 표시할 수 있는 top 명령; top의 개선된 버전으로 더 많은 대화형 기능을 제공할 수 있습니다. 4. 프로세스 간의 관계를 트리 구조로 표시할 수 있는 pstree 명령. 5. 현재 시스템의 열린 파일과 네트워크 연결을 표시할 수 있는 lsof 명령.

리눅스에서 프로세스가 무엇을 하고 있는지 확인하는 방법

이 기사의 운영 환경: Linux 5.18.14 시스템, DELL G3 컴퓨터.

1. 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 명령은 현재 시스템에서 열려 있는 파일과 네트워크 연결을 표시할 수 있습니다. 프로세스의 PID와 프로세스의 사용자를 포함하여 프로세스에 대한 자세한 정보를 표시하려면 -l 매개변수를 사용하십시오.

요컨대, 위 명령은 실행 중인 프로세스를 보는 데 사용할 수 있으며 상황에 따라 다른 명령이 적합합니다. 필요에 따라 적절한 명령을 선택하기만 하면 됩니다.

2. 각 프로세스 상태의 의미

1. R: Running

은 프로세스가 허용된 대기열에서 실행 중이거나 대기 중임을 의미합니다.

2.S: Interrupt

는 프로세스가 특정 조건이 형성되거나 신호가 수신되면 중단된 상태를 벗어나는 것을 의미합니다.

3.D: Uninterruptible

은 프로세스가 시스템 비동기 신호에 응답하지 않으며 kill 명령을 사용해도 중단될 수 없음을 의미합니다.

4.Z: 좀비

는 프로세스가 종료되었지만 프로세스 설명자는 상위 프로세스가 프로세스를 해제하기 위해 wait(4) 시스템 함수를 호출할 때까지 계속 존재함을 의미합니다.

5. T: Stop

은 중지 신호를 받은 후 프로세스 실행이 중지됨을 의미합니다.

3. 상태

[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: 命令名称和参数

4. top 명령은 프로세스 활동 및 시스템 로드 정보를 동적으로 모니터링하는 데 사용됩니다.

top 명령은 매우 강력하며 시스템 작동 및 유지 관리 상태를 동적으로 볼 수 있습니다.

리눅스에서 프로세스가 무엇을 하고 있는지 확인하는 방법

1. 상단

[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行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。

5. 서비스의 프로세스 ID 보기

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

위 내용은 리눅스에서 프로세스가 무엇을 하고 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.