'PS'에 해당되는 글 1건

pid로 프로세스를 종료하는 방법을 정리합니다. 사용하는 명령은 다음과 같습니다.

  • ps
  • grep
  • awk
  • kill

pid를 조회하여 프로세스 종료하는 명령은 다음과 같은 절차로 작성됩니다.

  1. 원하는 프로세스 목록만 가져오기 - ps, grep, pgrep(ps+grep)
  2. 프로세스 목록에서 pid만 가져오기 - awk
  3. kill 명령어로 한번에 프로세스 종료 - (backtick)

backtick은 다음 그림과 같은 위치의 문자를 의미합니다.


프로세스 목록 조회

ps 및 grep 명령을 대상 프로세스를 조회합니다.

 

ps -ef | grep hugo

501 6582 479 0 12:39AM ttys000 0:01.15 hugo server

501 6919 479 0 12:44AM ttys000 0:00.21 hugo server

501 7011 479 0 12:44AM ttys000 0:01.16 hugo server

501 7104 479 0 12:44AM ttys000 0:01.16 hugo server

501 7276 479 0 12:44AM ttys000 0:01.15 hugo server

501 7371 479 0 12:44AM ttys000 0:01.16 hugo server

501 7463 479 0 12:44AM ttys000 0:01.14 hugo server

501 7637 479 0 12:45AM ttys000 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn hugo

프로세스 목록에서 pid 출력

awk로 프로세의 정보를 출력합니다. 컬럼 지정은 작은 따움표로 설정합니다.

 

> ps -ef | grep hugo | awk '{print $1,$2,$3,$8}'

501 6582 479 hugo 501 6919 479 hugo

501 7011 479 hugo 501 7104 479 hugo

501 7276 479 hugo 501 7371 479 hugo

501 7463 479 hugo 501 7903 479 grep

>

 

두 번째 컬럼($2)으로 pid를 지정하여 출력합니다.

 

> ps -ef|grep hugo|awk '{print $2}'

6582

6919

7011

7104

7276

7371

7463

7952

>

프로세스 종료

쉡 스크립트에서 backtick(`) 사이의 명령은 실행되고 그 결과가 앞에 명령에 입력됨니다.

다음과 같이 pid는 kill 명령에 전달되어 종료됩니다.

 

>kill -9 `ps -ef | grep hugo|awk '{print $2}'`

kill: kill 8385 failed: no such process

[7] + 7463 killed hugo server

[6] + 7371 killed hugo server

[5] + 7276 killed hugo server

[4] + 7104 killed hugo server

[3] + 7011 killed hugo server

[2] + 6919 killed hugo server

[1] + 6582 killed hugo server

>

 

블로그 이미지

슬픈외로움

개발이 어려워? 모든것엔 답이있다...

,