Linux / 명령어 / killall - 이름이 같은 프로세스에 시그널 보내기

Linux의 killall은 지정한 이름과 일치하는 프로세스들에 시그널을 보냅니다. 기본은 SIGTERM이며, 같은 이름의 작업이 여러 개면 모두 대상이 될 수 있습니다.

killall 명령어란?

Linux에서 흔한 psmisc 구현을 기준으로 설명합니다. 다른 Unix 계열에서는 killall의 의미가 달라질 수 있으므로 시스템을 옮겨 사용할 때 반드시 현재 매뉴얼을 확인하세요. 대상 선정은 pgrep로 먼저 검토합니다.

기본 문법

killall [옵션] 이름 ...

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man killall으로 현재 시스템의 설명을 확인하세요.

사용 예제

동명 프로세스 확인

의도한 이름의 PID와 명령줄을 먼저 봅니다.

pgrep -a -x myworker

정상 종료 요청

Linux psmisc 구현에서 이름이 일치하는 작업에 SIGTERM을 보냅니다.

killall -TERM myworker

대상 이름과 사용자 제한

사용자 범위를 줄일 필요가 있을 때 사용합니다.

killall -u alice myworker

같은 이름의 프로세스가 여러 개일 때

killall은 지정한 이름과 일치하는 프로세스 전체에 신호를 보낼 수 있습니다. 먼저 pgrep으로 후보를 확인해야 예상 밖의 인스턴스를 종료하지 않습니다.

pgrep -a -x demo-worker
killall -TERM demo-worker

첫 명령은 대상 PID와 명령행을 보여주며, 두 번째 명령은 성공해도 보통 출력하지 않습니다. 이후 pgrep -a -x demo-worker로 남은 프로세스를 확인하세요. 이름이 같은 작업이 여럿이라면 모두 영향을 받을 수 있습니다.

예제 이름은 자신이 만든 시험 프로세스로 바꾸어 사용하세요. 일부 유닉스 계열의 killall은 Linux와 동작이 다르므로 이식성을 가정하지 마세요. 서비스 관리 대상이면 프로세스 직접 종료보다 systemctl stop 서비스명이 적합할 수 있습니다.

주요 옵션과 형식

옵션·형식 설명
-s 시그널 보낼 시그널을 지정합니다.
-u 사용자 지정한 사용자의 프로세스만 선택합니다.
-i 대상마다 확인을 요청합니다.
-v 수행 내용을 자세히 표시합니다.
-w 일치한 프로세스가 종료될 때까지 기다립니다.

사용할 때 주의할 점

이름만으로 모든 동명 프로세스에 영향을 줄 수 있으므로 공유 서버에서는 특히 조심하세요. -w는 종료되지 않는 프로세스 때문에 오래 기다릴 수 있습니다. 다른 운영체제의 killall은 동작이 다를 수 있으니 Linux psmisc 구현과 혼동하지 마세요.

자주 묻는 질문

killall은 시스템의 모든 프로세스를 종료하나요?

Linux psmisc 구현에서는 지정한 이름에 일치하는 프로세스를 대상으로 합니다. 다만 다른 Unix 구현에서는 의미가 다를 수 있습니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 killall 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / mv - 파일 이동과 이름 변경

Linux / 명령어 / mv - 파일 이동과 이름 변경

Linux mv 명령어로 파일과 디렉터리를 이동하거나 이름을 변경하는 방법을 설명합니다. 덮어쓰기 방지, 파일 시스템 간 이동과 안전한 자동화 방법도 정리합니다.

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

Linux 강좌 / 파일 권한 읽고 바꾸기와 sudo 사용법

리눅스 파일과 디렉터리의 읽기·쓰기·실행 권한을 해석하고 chmod로 실습 파일의 권한을 바꿉니다. sudo의 사용 범위와 권한 오류를 진단하는 순서도 설명합니다.

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

Linux / 리눅스 Bash 명령어 연결 연산자: ;, &&, ||, &, | 사용법

리눅스 Bash의 ;, &&, ||, &, |, |&, ! 차이를 종료 상태와 실제 예제로 설명합니다. 조건부 실행, 백그라운드 작업, 파이프라인과 pipefail 사용법까지 정리합니다.

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

Linux / 명령어 / parted - 파티션 표와 빈 공간 확인·관리

Linux parted 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

Linux / 명령어 / resolvectl - systemd DNS 설정과 이름 조회 상태 확인

Linux resolvectl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / type - 명령어 유형과 실행 대상 확인

Linux / 명령어 / type - 명령어 유형과 실행 대상 확인

Bash type 명령어로 별칭, 예약어, 함수, 내장 명령과 실행 파일을 구분하는 방법을 설명합니다. 모든 후보와 경로 확인, command -v·which와의 차이 및 스크립트 활용법을 다룹니다.

Linux / 명령어 / info - GNU 문서 확인

Linux / 명령어 / info - GNU 문서 확인

info 명령어로 GNU 설명서를 탐색하는 방법을 설명합니다. 노드와 메뉴 이동, 본문·색인 검색, 특정 문서 위치 지정, 텍스트 출력과 문서가 없을 때의 해결 방법을 정리합니다.

Linux / 명령어 / tracepath - 네트워크 경로와 경로 MTU 확인

Linux / 명령어 / tracepath - 네트워크 경로와 경로 MTU 확인

Linux tracepath 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / su - 사용자 계정 전환

Linux / 명령어 / su - 사용자 계정 전환

Linux su 명령어로 다른 사용자 권한의 셸과 단일 명령을 실행하는 방법을 설명합니다. su와 su --login 차이, 환경 변수, PAM 인증, sudo·runuser 선택 기준과 보안 주의사항을 정리합니다.

Linux / Memo

Linux / Memo

리눅스와 관련된 여러 정보를 정리합니다.