프로세스(:12)에게 시그널(:12)을 보낸다.
#include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig);
kill(2) 시스템콜(:12)은 특정 프로세스나 프로세스 그룹에 시그널을 보내기 위해서 사용한다.
pid 가 양수이면, sig 시그널을 pid 로 보낸다.
pid 가 0이면 현재 프로세스가 속한 프로세스 그룹의 모든 프로세스에게 sig 시그널을 보낸다.
pid 가 -1 이면, 1번 프로세스를 제외한 모든 프로세스에서 sig 시그널을 보낸다.
pid 가 -1 보다 작으면, -pid 프로세스(:12)가 포함된 모든 그룹(:12)의 프로세스(:12)에게 sig 시그널을 보낸다.
sig가 0이면 어떤 시그널(:12)도 보내지 않지만, 에러 검사는 할수 있다.
시그널의 종류는 Unix(:12) 시스템마다 조금씩 다를수 있다. 자신의 Unix 시스템에서 사용할수 있는 시그널 목록은 kill(1) 쉘 명령어를 이용해서 확인할수 있다.
[root@localhost test]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ ...
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno(:12) 값을 설정한다.
다양한 원인에 의해서 에러가 발생할수 있으며 아래와 같은 에러 메시지들이 있다.
잘못된 시그널번호(:12)를 지정했을경우
s 가 소켓(:12)이 아닌 파일일경우
소켓(:12)이 연결되어 있지 않을경우
시스템(:12)에 연산을 위해서 이용할수 있는 자원이 부족할때
#include <sys/types.h> #include <signal.h> #include <stdlib.h> int main(int argc, char **argv) { int pid; int sig_num; // 아규먼트로 pid 번호와 // 전송할 signal 번호를 받아들여서 // 이를 해당 pid 로 보낸다. pid = atoi(argv[1]); sig_num = atoi(argv[2]); kill(pid, sig_num); }
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
1장. kill(2)
프로세스(:12)에게 시그널(:12)을 보낸다.
1.1절. 사용법
1.2절. 설명
kill(2) 시스템콜(:12)은 특정 프로세스나 프로세스 그룹에 시그널을 보내기 위해서 사용한다.
pid 가 양수이면, sig 시그널을 pid 로 보낸다.
pid 가 0이면 현재 프로세스가 속한 프로세스 그룹의 모든 프로세스에게 sig 시그널을 보낸다.
pid 가 -1 이면, 1번 프로세스를 제외한 모든 프로세스에서 sig 시그널을 보낸다.
pid 가 -1 보다 작으면, -pid 프로세스(:12)가 포함된 모든 그룹(:12)의 프로세스(:12)에게 sig 시그널을 보낸다.
sig가 0이면 어떤 시그널(:12)도 보내지 않지만, 에러 검사는 할수 있다.
시그널의 종류는 Unix(:12) 시스템마다 조금씩 다를수 있다. 자신의 Unix 시스템에서 사용할수 있는 시그널 목록은 kill(1) 쉘 명령어를 이용해서 확인할수 있다.
1.3절. 반환값
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno(:12) 값을 설정한다.
1.4절. 에러
다양한 원인에 의해서 에러가 발생할수 있으며 아래와 같은 에러 메시지들이 있다.
잘못된 시그널번호(:12)를 지정했을경우
s 가 소켓(:12)이 아닌 파일일경우
소켓(:12)이 연결되어 있지 않을경우
시스템(:12)에 연산을 위해서 이용할수 있는 자원이 부족할때
1.5절. 예제
Recent Posts
Archive Posts
Tags