개요
pkill은 `pgrep`과 동일한 패턴 매칭 기능을 사용하여 프로세스를 찾지만, 찾은 프로세스에 지정된 신호를 보냅니다. 기본 신호는 SIGTERM(15)이며, 이는 프로세스를 정상적으로 종료하도록 요청합니다. `-9` 옵션으로 SIGKILL을 보낼 수 있지만, 이는 강제 종료이므로 주의해야 합니다.
주요 기능
- 프로세스 이름으로 신호 보내기
- 사용자, 터미널, 전체 경로 등 다양한 조건으로 필터링
- 기본 신호는 SIGTERM (정상 종료)
- 강제 종료 (SIGKILL) 가능
주요 옵션
pkill 명령어는 다양한 옵션을 통해 신호를 보낼 프로세스를 정교하게 선택할 수 있습니다.
신호 및 매칭
프로세스 필터링
생성된 명령어:
명령어를 조합해 보세요.
설명:
`pkill` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
pkill을 사용하여 특정 프로세스를 종료하거나 신호를 보내는 다양한 방법을 보여줍니다.
nginx 프로세스 정상 종료
pkill nginx
nginx라는 이름의 모든 프로세스에 SIGTERM 신호를 보내 정상적으로 종료를 요청합니다.
특정 사용자 소유의 firefox 프로세스 강제 종료
pkill -u john -9 firefox
지정된 사용자(예: 'john')가 실행 중인 firefox 프로세스를 강제로 종료합니다.
전체 명령줄에서 'my_script.sh'를 포함하는 모든 프로세스 종료
pkill -f my_script.sh
프로세스 이름뿐만 아니라 실행된 전체 명령줄에 'my_script.sh'가 포함된 모든 프로세스를 종료합니다.
특정 터미널(tty1)에서 실행 중인 모든 프로세스 종료
pkill -t tty1
tty1 터미널에서 실행 중인 모든 프로세스에 SIGTERM 신호를 보냅니다.
httpd 프로세스에 HUP 신호 보내기 (재시작)
pkill -HUP httpd
httpd 프로세스에 SIGHUP 신호를 보내 설정 파일을 다시 로드하거나 재시작하도록 요청합니다.
팁 & 주의사항
pkill 사용 시 유의할 점과 유용한 팁입니다.
주의사항
- `pkill -9` (SIGKILL) 사용은 최후의 수단으로 사용하세요. 프로세스가 정리 작업을 할 기회를 주지 않아 데이터 손상이나 시스템 불안정을 초래할 수 있습니다.
- 의도치 않은 프로세스 종료를 막기 위해, 먼저 `pgrep`으로 어떤 프로세스가 선택될지 확인하는 것이 좋습니다. (예: `pgrep -l <pattern>`)
- 정규 표현식을 사용하여 패턴을 지정할 수 있습니다. (예: `pkill 'apache.*'`)
- pkill은 기본적으로 현재 사용자의 프로세스만 대상으로 합니다. 다른 사용자의 프로세스를 종료하려면 root 권한이 필요합니다.