tail head cat sleep
QR code linking to this page

Man page  — KILL

명칭

kill – 프로세스에 시그널을 송신한다

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <sys/types.h>
#include <signal.h>

int
kill(pid_t pid, int sig);

해설

kill() 함수는, sig 에 의해 지정된 시그널을 프로세스 또는 프로세스의 그룹이다 pid 에 송신합니다. sig (은)는, sigaction(2) 그리고 규정된 시그널의 1 개로 할 수도 있고, 0 으로 할 수도 있습니다. 0 의 경우는, 에러 체크를 실행합니다만, 실제로 시그널은 송신되지 않습니다. 이것을 사용해 pid 의 유효성을 체크 할 수 있습니다.

프로세스가 pid 에 의해 지정된 프로세스에 시그널을 송신하는 퍼미션을 가지기 위해서(때문에)는, 수신하는 프로세스의 열매 유저 ID 또는 실효 유저 ID 가 송신 프로세스의 대응하는 것과 일치하는지, 또는 유저는 해당하는 특권을 가지고 있다 (set-user-ID 로 주어진 특권, 또는 유저가 슈퍼 유저일) 필요가 있습니다. 유일한 예외는 시그널 SIGCONT 로, 이것만은 현재의 프로세스의 자손에게 반드시 송신할 수 있습니다.
pid, No, , 0, 보다, , 경우:
  sig (은)는 ID 가 pid 에 동일한 프로세스에 송신됩니다.
pid, No, , 0, , 경우:
  sig (은)는 그룹 ID 가 송신측의 프로세스 그룹 ID 와 동일하고, 거기에 붙어 프로세스가 퍼미션을 가지고 있는 모든 프로세스에 송신됩니다. 이것은 killpg(2) 의 변종입니다.
pid, No, , -1, , 경우:
  유저에게 슈퍼 유저의 특권이 있는 경우, 시스템 프로세스 ( P_SYSTEM 플래그가 설정되어 있다), ID 가 1 의 프로세스 (통상은 init(8) ), 및 시그널을 송신하고 있는 프로세스를 제외한 모든 프로세스에 시그널이 송신됩니다. 유저가 슈퍼 유저가 아닌 경우, 시그널을 송신하고 있는 프로세스를 제외한, 유저와 같은 uid 의 모든 프로세스에 시그널이 송신됩니다. 몇개의 프로세스에 시그널을 송신할 수 있었을 경우, 에러는 돌려주어지지 않습니다.

System V 와의 호환성을 유지하기 위해서(때문에), 프로세스 번호가 -1 이외의 음수의 경우, 프로세스 번호의 절대치에 동일한 프로세스 그룹 ID 를 가진다 모든 프로세스에 시그널이 송신됩니다. 이것은 killpg(2) 의 변종입니다.

반환값

The kill function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

에러

Kill() (은)는 다음의 경우에 처리에 실패해, 시그널은 송신되지 않습니다.
[EINVAL]
  sig 하지만 유효한 시그널 번호가 아닙니다.
[ESRCH]
  pid 그리고 지정된 프로세스에 대응하는 프로세스를 검출할 수 없습니다.
[ESRCH]
  프로세스 ID 는 0 으로서 주어졌지만, 송신 프로세스에 프로세스 그룹이 없습니다.
[EPERM]
  송신 프로세스는 슈퍼 유저가 아니고, 그 실효 유저 ID 가 수신 프로세스의 실효 유저 ID 와 일치하지 않습니다. 프로세스 그룹에 시그널을 송신할 때, 그룹의 멤버의 어느 쪽인가에 시그널 (을)를 송신할 수가 없는 경우, 이 에러가 돌려주어집니다.

관련 항목

getpgrp(2), getpid(2), killpg(2), sigaction(2), raise(3), init(8)

표준

kill() 함수는 IEEE Std 1003.1-90 ("POSIX.1") 에 준거하고 있습니다.

역사

kill() 함수는 AT&T v7 그리고 처음 등장했습니다.

KILL (2) April 19, 1994

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

Unix’s “power tools” are more like power switchblades that slice off the operator’s fingers quickly and efficiently.
— The Unix Haters' handbook