이 름
kill − 프 로 세 스 에 게 시 그 널 을 보 낸 다 .
사 용 법
#include
<sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
설 명
kill 시 스 템 콜 은 어 떤 프 로 세 스 그 룹 이 나 프 로 세 스 에 시 그 널 을 보 낼 때 사 용 될 수 있 다 .
pid가 양 수 이 면 , sig 시 그 널 은 pid로 보 내 진 다 .
pid가 0이 면 , sig는 현 재 프 로 세 스 가 속 한 프 로 세 스 그 룹 의 모 든 프 로 세 스 에 보 내 진 다 .
pid가 -1이 면 , sig는 1번 프 로 세 스 를 제 외 한 모 든 프 로 세 스 에 게 큰 번 호 의 프 로 세 스 에 서 작 은 번 호 순 으 로 보 내 진 다 .
pid가 -1보 다 작 으 면 , sig는 −pid 프 로 세 스 그 룹 의 모 든 프 로 세 스 에 보 내 진 다 .
sig가 0이 면 , 어 떤 시 그 널 도 보 내 지 지 는 않 지 만 , 에 러 검 사 는 행 해 진 다 .
반 환 값
성 공 시 , 0이 리 턴 된 다 . 에 러 시 , −1이 리 턴 되 고 errno가 적 절 히 설 정 된 다 .
에 러
EINVAL |
잘 못 된 시 그 널 이 지 정 되 었 다 . | ||
ESRCH |
프 로 세 스 나 프 로 세 스 그 룹 이 존 재 하 지 않 는 다 . 존 재 하 는 프 로 세 스 이 지 만 좀 비 (zombie)일 수 도 있 음 에 주 의 하 라 . 좀 비 는 이 미 종 료 했 지 만 아 직 wait() 처 리 되 지 않 은 프 로 세 스 이 다 . | ||
EPERM |
시 그 널 을 받 는 프 로 세 스 중 어 떤 프 로 세 스 에 게 시 그 널 을 보 낼 권 한 이 없 다 . 프 로 세 스 가 pid 프 로 세 스 에 시 그 널 을 보 낼 권 한 을 가 지 려 면 루 트 권 한 을 가 지 거 나 , 보 내 는 프 로 세 스 의 실 (real) 사 용 자 ID나 유 효 (effective) 사 용 자 ID가 받 는 프 로 세 스 의 실 사 용 자 ID나 저 장 된 set-user-ID와 같 아 야 만 한 다 . SIGCONT인 경 우 에 는 보 내 는 프 로 세 스 와 받 는 프 로 세 스 가 같 은 세 션 에 속 해 있 는 상 황 을 만 족 시 킨 다 . |
주 의
1번 태 스 크 인 init 프 로 세 스 에 게 시 그 널 을 보 낼 수 없 다 . 따 라 서 init 프 로 세 스 는 시 그 널 핸 들 러 를 가 질 수 없 다 . 이 는 시 스 템 이 사 고 로 다 운 되 지 않 게 하 기 위 해 서 이 다 .
POSIX 1003.1-2001의 규 정 에 의 하 면 kill(-t,sig) 는 sig 를 모 든 프 로 세 스 에 보 내 는 것 이 다 . 이 때 발 생 될 수 있 는 어 떤 구 현 -정 의 된 (implementation-defined) 시 스 템 프 로 세 스 는 제 외 될 수 있 다 . 리 눅 스 는 시 그 널 그 자 체 에 대 한 프 로 세 스 가 가 능 하 지 만 리 눅 스 상 에 서 kill(-t,sig)를 호 출 하 는 것 으 로 현 재 프 로 세 스 에 시 그 널 을 보 낼 수 는 없 다 .
리 눅 스 역 사
하 나 의 권 한 없 는 프 로 세 스 가 또 다 른 프 로 세 스 에 시 그 널 을 보 내 는 것 에 대 한 허 용 권 한 에 대 해 서 로 다 른 리 눅 스 커 널 버 젼 에 간 에 서 로 다 른 규 칙 을 갖 는 다 . 커 널 1.0 에 서 1.2.2 에 서 는 만 약 받 는 프 로 세 스 의 유 효 사 용 자 ID가 보 내 는 프 로 세 스 의 유 효 사 용 자 ID와 서 로 부 합 (matched)하 거 나 , 받 는 프 로 세 스 의 실 제 (real) 사 용 자 ID가 보 내 는 프 로 세 스 의 실 제 사 용 자 ID와 서 로 부 합 할 때 시 그 널 이 보 내 질 수 있 다 . 커 널 1.2.3 에 서 1.3.77 에 서 는 받 는 프 로 세 스 의 유 효 사 용 자 ID가 보 내 는 프 로 세 스 의 실 제 또 는 유 효 사 용 자 ID와 부 합 (match)할 때 시 그 널 이 보 내 질 수 있 다 . POSIX 1003.1-2001에 서 인 증 된 현 재 의 규 칙 은 커 널 1.3.78에 서 채 용 되 었 다 .
호 환
SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3, POSIX 1003.1-2001
관 련 항 목
_exit(2), _killpg(2) signal(2), tkill(2), exit(3), signal(7)
번 역
임
종 균 <hermes44 [AT] secsm.org> 2000년
4월 20일
한 우 섭 <wshan [AT] samsung.com>
2004년 6월 3일
한 글 Manpage 프 로 젝
트 (http://man.kldp.org) 2005년 2월
17일