강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

ps실무1편: 프로세스 확인하는 ps의 개론

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

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”를 확인할 수 있다.

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  124 명