ps실무1편: 프로세스 확인하는 ps의 개론
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,349 조회
- 0 추천
- 목록
본문
ps실무1편: 프로세스 확인하는 ps의 개론
리눅스뿐아니라 거의 모든 유닉스시스템에서 가장 대표적으로 사용하는 프로세스 확인 도구가 ps일 것이다.
또한 여러분들 모두 ps를 사용해보았을 것이다.
이번에 배울 이 ps라는 도구를 이용하여 시스템에 실행되어 있는 많은 프로세스들의 실행상태를 파악하고 점검하는 가장 효율적인 방법을 배우게 될 것이다.
즉, ps는 프로세스들의 상태파악을 위한 최적의 명령어로서 시스템관리자들은 주로 시스템의 전반적인 상태를 파악할 때 또는 실행된 프로세스들만 확인할 목적으로 사용한다.
아마도 시스템관리자들이 ps를 사용하는 스타일에는 다소 차이가 있다는 것을 느꼈을 것이다.
거의 비슷하게 ps를 사용하는 것 같지만 잘 보면 조금씩 다르게 사용한다는 것을 알 수 있다.
그것은 다음과 같은 이유 때문이다.
ps명령어의 man페이지를 보면 ps의 옵션타입 3가지에 대하여 언급하고 있다.
즉, UNIX,타입옵션, BSD타입옵션, 그리고 GNU타입의 긴 옵션이 그것이다.
UNIX타입의 옵션은 대쉬(-)를 사용해야하는 옵션스타일을 의미하고, BSD타입의 옵션은 대쉬(-)를 사용하지않는 옵션스타일을 의미한다.
그리고 GNU타입의 옵션은 긴 옵션으로 더블대쉬(--)를 사용하는 옵션스타일을 각각 의미한다.
이런 다소 다른 스타일에 굳이 신경쓸 필요없다.
개의치말고 그냥 여기서 설명하는 대로 사용하면 된다.
그냥 ps라고만 하면 다음과 같이 간단한 결과를 얻을 수 있다.
아무런 옵션없이 실행하면 현재 사용자가 실행시킨 프로세스만을 보여준다.
[root@RockyLinux01 ~]# ps PID TTY TIME CMD 1890 pts/0 00:00:00 bash 2129 pts/0 00:00:00 ps [root@RockyLinux01 ~]# |
즉 위의 결과로 보면 현재 ps를 실행시킨 사용자는 bash쉘 사용 중에 ps를 실행시켰다는 것을 알 수 있다.
ps명령어를 사용할 때 가장 흔히 사용하는 옵션이 -e와 -f 옵션이다.
즉 이 둘을 합쳐서 "ps -ef"라는 옵션을 가장 흔히 사용한다.
-e 옵션은 모든 프로세스를 표시해주는 옵션이며, -f옵션은 전체경로로 프로세스를 표시해주는 옵션이다.
따라서 모든 프로세스를 자세하게 보려고 할 때에 사용하는 옵션이 -ef이다.
다음 예를 보자
[root@RockyLinux01 ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 11:13 ? 00:00:01 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize root 2 0 0 11:13 ? 00:00:00 [kthreadd] root 3 2 0 11:13 ? 00:00:00 [rcu_gp] root 4 2 0 11:13 ? 00:00:00 [rcu_par_gp] root 5 2 0 11:13 ? 00:00:00 [netns] root 6 2 0 11:13 ? 00:00:00 [kworker/0:0-events_freezable_power_] root 7 2 0 11:13 ? 00:00:00 [kworker/0:0H-events_highpri] root 9 2 0 11:13 ? 00:00:00 [kworker/0:1H-events_highpri] root 10 2 0 11:13 ? 00:00:00 [mm_percpu_wq] root 11 2 0 11:13 ? 00:00:00 [kworker/u2:1-events_unbound] root 12 2 0 11:13 ? 00:00:00 [rcu_tasks_kthre] root 13 2 0 11:13 ? 00:00:00 [rcu_tasks_rude_] root 14 2 0 11:13 ? 00:00:00 [rcu_tasks_trace] root 15 2 0 11:13 ? 00:00:00 [ksoftirqd/0] root 16 2 0 11:13 ? 00:00:00 [rcu_preempt] root 17 2 0 11:13 ? 00:00:00 [migration/0] root 19 2 0 11:13 ? 00:00:00 [cpuhp/0] root 21 2 0 11:13 ? 00:00:00 [kdevtmpfs] root 22 2 0 11:13 ? 00:00:00 [inet_frag_wq] root 23 2 0 11:13 ? 00:00:00 [kauditd] root 24 2 0 11:13 ? 00:00:00 [khungtaskd] root 25 2 0 11:13 ? 00:00:00 [oom_reaper] root 26 2 0 11:13 ? 00:00:00 [writeback] root 27 2 0 11:13 ? 00:00:00 [kcompactd0] root 28 2 0 11:13 ? 00:00:00 [ksmd] root 29 2 0 11:13 ? 00:00:00 [khugepaged] root 30 2 0 11:13 ? 00:00:00 [cryptd] root 31 2 0 11:13 ? 00:00:00 [kintegrityd] root 32 2 0 11:13 ? 00:00:00 [kblockd] root 33 2 0 11:13 ? 00:00:00 [blkcg_punt_bio] root 34 2 0 11:13 ? 00:00:00 [tpm_dev_wq] root 35 2 0 11:13 ? 00:00:00 [md] root 36 2 0 11:13 ? 00:00:00 [edac-poller] root 37 2 0 11:13 ? 00:00:00 [watchdogd] root 38 2 0 11:13 ? 00:00:01 [kswapd0] root 44 2 0 11:13 ? 00:00:00 [kthrotld] root 49 2 0 11:13 ? 00:00:00 [acpi_thermal_pm] root 50 2 0 11:13 ? 00:00:00 [kmpath_rdacd] root 51 2 0 11:13 ? 00:00:00 [kaluad] root 52 2 0 11:13 ? 00:00:00 [mld] root 53 2 0 11:13 ? 00:00:00 [ipv6_addrconf] root 54 2 0 11:13 ? 00:00:00 [kstrp] root 66 2 0 11:13 ? 00:00:00 [zswap-shrink] root 185 2 0 11:13 ? 00:00:00 [kworker/u3:0] root 392 2 0 11:13 ? 00:00:00 [ata_sff] root 395 2 0 11:13 ? 00:00:00 [scsi_eh_0] root 396 2 0 11:13 ? 00:00:00 [scsi_tmf_0] root 397 2 0 11:13 ? 00:00:00 [scsi_eh_1] root 399 2 0 11:13 ? 00:00:00 [scsi_tmf_1] root 404 2
0 11:13 ? 00:00:00
[scsi_eh_2] |
좀 복잡해 보이지만 가장 자세하게 프로세스의 상태를 볼 수 있는 명령이다.
즉 위와 같이 “ps -ef”를 실행하면 실행된 각각의 프로세스들에 대하여 모두 8개씩의 항목“UID PID PPID C STIME TTY TIME CMD”를 확인할 수 있다.
관련자료
-
이전
-
다음