메뉴 건너뛰기

(*.168.0.1) 조회 수 820 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 https://sosal.kr/880
 ps에서 pid 목록만 가져와서 kill하기

/*

 * http://sosal.kr/
 * made by so_Sal
 */

 

1. 원하는 프로세스 목록만 가져오기 - ps, grep

2. 프로세스 목록에서 pid만 가져오기 - AWK (GAWK)

3. kill 명령어로 한번에 프로세스 종료하기

4. Shell script를 이용하여 한번에 종료하기

 

작업할게 많아서 R이라는 프로그램을 거의 40개 가량 돌려야 할 때가 있었습니다.

근데 하나 실수한게 있어서 이 40개나 되는 프로세스를 다 죽여야하게 됐는데,

nohup 백그라운드로 실행시키는 바람에 kill이라는 명령어로 하나 하나 다 따로 죽여야 하는 상황이 됐네요.

 

Fig.1 ps -elf | grep sosal | grep exec

(스압 --;)

 

 

1. 원하는 프로세스 목록만 가져오기 - ps, grep

 

40개를 하나하나 프로세스 아이디(pid)를 다 치기에는 너무 귀찮으니 pid 목록만 뽑아와서 한번에 다 kill 할 수 있도록 해봤습니다.

 

일단 ps -elf 명령어를 grep으로 sosal과 exec가 모두 포함된, 제가 kill 하고자 하는 프로세스 목록만 뽑았습니다.
그 명령어가 ps -elf | grep sosal | grep exec 이지만, 혹시 중요한 프로세스가 켜져있는 경우 pid가 뽑히면 안되니,

추가적으로 grep으로 중요한 프로세스를 제거해주시면 됩니다.

 

 


 

2. 프로세스 목록에서 pid만 가져오기 - AWK (GAWK)

우리가 원하는 결과는 fig1과 같은 결과에서 4번째 column(열)이기 때문에, 이것을 가져오는 스크립트 언어가 필요합니다.

 

- n번째 column만 가져오려면 다음과 같이 입력하면 됩니다.

ps ~ | awk '{print $n}'

 

Fig.2 ps 명령어 결과의 1~5번째 column 가져오기

ps -elf | grep sosal | grep exec | awk '{print $1,$2,$3,$4,$5}'

 

 

3. kill 명령어로 한번에 프로세스 종료하기

 

ps -elf | grep sosal | grep exec | awk '{print $3,$4}' 명령어로 제 id와 pid 목록만 가져와봤습니다.

 

Fig 3. ps & awk 명령어로 id와 pid만 가져오기

 

 

그리고 메모장이나 다른 텍스트 편집기에서 '바꾸기' 기능을 이용하여 sosal을 kill로 바꿔주시면 됩니다.

 

 

 

 

모든 kill 명령어를 이제 리눅스 콘솔에 붙여넣으면 끝 ^^

 

 

 

 

 

 

4. Shell script를 이용하여 한번에 종료하기

 

ps -elf | grep "프로세스 목록 추출" | awk '{print $4}' | while read line; do kill $line; done

 

위의 과정이 귀찮고 grep으로 원하는 프로세스 목록만 추출할 수 있다면 위의 명령어로 쉽게 해결가능합니다 ^^


  1. 16Jun
    by 정보제공
    2023/06/16 Views 820 

    ps에서 pid 목록만 가져와서 kill하기

  2. 05. 프로세스 스케줄러 2

  3. CentOS 7 / SSH / 포트 변경하는 방법

  4. CentOS 7 / ntp로 시간 동기화 하는 방법

  5. No Image 21Mar
    by
    2023/03/21 Views 359 

    CentOS 7 / ReHat 7 / ProLinux 7 sendmail 설치 및 세팅

  6. No Image 06Mar
    by
    2023/03/06 Views 632 

    EOS,EOL,EOD,EOST,EOSL이란?

  7. No Image 06Mar
    by
    2023/03/06 Views 290 

    BYOL : Bring Your Own License

  8. No Image 05Mar
    by
    2023/03/05 Views 312 

    리눅스에서 커널 버전, uname -a , cat /proc/version

  9. Ubuntu 20.04 LTS (Focal Fossa) 데스크탑 달라진 점과 간단 후기

  10. Ubuntu 20.04 LTS (Focal Fossa) 데스크탑 설치 후 해야하는 것들

  11. Ubuntu release 일람표

  12. UMASK 사용법

  13. No Image 10Oct
    by
    2018/10/10 Views 297 

    Ubuntu 18.04 한글 설정

  14. No Image 10Oct
    by
    2018/10/10 Views 308 

    Ubuntu 18.04를 설치한 뒤에 해야 할 6가지

  15. No Image 10Oct
    by
    2018/10/10 Views 462 

    Auto root Login 설정 - Ubuntu 18.04

  16. Micro VAX

  17. No Image 24Feb
    by
    2017/02/24 Views 385 

    Linux, Unix, AIX 명령어 비교

  18. Ubuntu - 우리가 함께 있기에 내가 있다

  19. No Image 10May
    by
    2016/05/10 Views 256 

    유닉스 파일 디스크립터 : > /dev/null 2>&1

  20. No Image 05Apr
    by
    2016/04/05 Views 296 

    ab -n 1000 -c 3 http://home.aiinfo.co.kr/

목록
Board Pagination Prev 1 2 3 Next
/ 3