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 중국어 웹사이트의 기타 관련 기사를 참조하세요!