Rechercher une page de manuel
kill
Langue: ko
Version: 1997년 9월 4일 (fedora - 25/11/07)
Section: 2 (Appels système)
이름
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와 같아야만 한다.
버그
1번 태스크인 init 프로세스에게 시그널을 보낼 수 없다. 따라서 init 프로세스는 시그널 핸들러를 가질 수 없다. 이는 시스템이 사고로 다운되지 않게 하기 위해서 이다.호환
SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3관련 항목
_exit(2), exit(3), signal(2), signal(7)역자
임종균 <hermes44@secsm.org>, 2000년 4월 20일Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre