kill(2) - wariua/manpages-ko GitHub Wiki

NAME

kill - ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ‹œκ·Έλ„ 보내기

SYNOPSIS

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

int kill(pid_t pid, int sig);

glibc κΈ°λŠ₯ 확인 맀크둜 μš”κ±΄ (feature_test_macros(7) μ°Έκ³ ):

kill():
_POSIX_C_SOURCE

DESCRIPTION

kill() μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ μ‚¬μš©ν•΄ μž„μ˜μ˜ ν”„λ‘œμ„ΈμŠ€ κ·Έλ£Ή λ‚΄μ§€ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μž„μ˜μ˜ μ‹œκ·Έλ„μ„ 보낼 수 μžˆλ‹€.

pidκ°€ μ–‘μˆ˜μ΄λ©΄ pid둜 μ§€μ •ν•œ ID의 ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ‹œκ·Έλ„ sigλ₯Ό 보낸닀.

pidκ°€ 0이면 호좜 ν”„λ‘œμ„ΈμŠ€μ˜ ν”„λ‘œμ„ΈμŠ€ κ·Έλ£Ή λ‚΄μ˜ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ—κ²Œ sigλ₯Ό 보낸닀.

pidκ°€ -1이면 ν”„λ‘œμ„ΈμŠ€ 1(init)을 μ œμ™Έν•˜κ³  호좜 ν”„λ‘œμ„ΈμŠ€κ°€ μ‹œκ·Έλ„μ„ 보낼 κΆŒν•œμ„ κ°€μ§„ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ—κ²Œ sigλ₯Ό 보낸닀. 단 μ•„λž˜ μžˆλŠ” λ‚΄μš©μ„ 보라.

pidκ°€ -1보닀 μž‘μœΌλ©΄ IDκ°€ -pid인 ν”„λ‘œμ„ΈμŠ€ κ·Έλ£Ή λ‚΄μ˜ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ—κ²Œ sigλ₯Ό 보낸닀.

sigκ°€ 0이면 μ–΄λ–€ μ‹œκ·Έλ„λ„ 보내지 μ•Šλ˜, 쑴재 및 κΆŒν•œ κ²€μ‚¬λŠ” λ§ˆμ°¬κ°€μ§€λ‘œ μˆ˜ν–‰ν•œλ‹€. ν˜ΈμΆœμžκ°€ μ‹œκ·Έλ„μ„ 보낼 수 μžˆλŠ” ν”„λ‘œμ„ΈμŠ€ ID λ‚΄μ§€ ν”„λ‘œμ„ΈμŠ€ κ·Έλ£Ή ID의 쑴재λ₯Ό ν™•μΈν•˜λŠ” 데 μ΄μš©ν•  수 μžˆλ‹€.

ν”„λ‘œμ„ΈμŠ€κ°€ μ‹œκ·Έλ„μ„ 보낼 κΆŒν•œμ΄ 있으렀면 특ꢌ이 μžˆκ±°λ‚˜ (λ¦¬λˆ…μŠ€μ—μ„œ: λŒ€μƒ ν”„λ‘œμ„ΈμŠ€μ˜ μ‚¬μš©μž λ„€μž„μŠ€νŽ˜μ΄μŠ€μ—μ„œ CAP_KILL μ—­λŠ₯을 κ°€μ§€κ³  μžˆκ±°λ‚˜), λ³΄λ‚΄λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ μ‹€μ œ μ‚¬μš©μž IDλ‚˜ μ‹€νš¨ μ‚¬μš©μž IDκ°€ λŒ€μƒ ν”„λ‘œμ„ΈμŠ€μ˜ μ‹€μ œ μ‚¬μš©μž IDλ‚˜ μ €μž₯된 set-user-ID와 κ°™μ•„μ•Ό ν•œλ‹€. SIGCONTμ—μ„œλŠ” 솑신 ν”„λ‘œμ„ΈμŠ€μ™€ μˆ˜μ‹  ν”„λ‘œμ„ΈμŠ€κ°€ 같은 μ„Έμ…˜μ— μ†ν•˜λŠ” κ²ƒμœΌλ‘œ μΆ©λΆ„ν•˜λ‹€. (μ—­μ‚¬μ μœΌλ‘œλŠ” κ·Έ κ·œμΉ™μ΄ λ‹¬λžλ‹€. NOTES μ°Έκ³ .)

RETURN VALUE

성곡 μ‹œ (μ‹œκ·Έλ„μ„ μ΅œμ†Œ ν•˜λ‚˜ λ³΄λƒˆμœΌλ©΄) 0을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ -1을 λ°˜ν™˜ν•˜λ©° errnoλ₯Ό 적절히 μ„€μ •ν•œλ‹€.

ERRORS

EINVAL
μœ νš¨ν•˜μ§€ μ•Šμ€ μ‹œκ·Έλ„μ„ μ§€μ •ν–ˆλ‹€.
EPERM
ν”„λ‘œμ„ΈμŠ€μ—κ²Œ λŒ€μƒ ν”„λ‘œμ„ΈμŠ€λ“€ 쀑 μ–΄λŠ 것에도 μ‹œκ·Έλ„μ„ 보낼 κΆŒν•œμ΄ μ—†λ‹€.
ESRCH
ν”„λ‘œμ„ΈμŠ€ λ‚΄μ§€ ν”„λ‘œμ„ΈμŠ€ 그룹이 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€. 참고둜 μ‘΄μž¬ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ 싀행을 λ§ˆμ³€μ§€λ§Œ 아직 wait(2) λ˜μ§€ μ•Šμ€ 쒀비일 μˆ˜λ„ μžˆλ‹€.

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

NOTES

ν”„λ‘œμ„ΈμŠ€ IDκ°€ 1인 init ν”„λ‘œμ„ΈμŠ€μ—κ²ŒλŠ” initμ—μ„œ λͺ…μ‹œμ μœΌλ‘œ μ‹œκ·Έλ„ ν•Έλ“€λŸ¬λ₯Ό μ„€μΉ˜ν•œ μ‹œκ·Έλ„λ“€λ§Œ 보낼 수 μžˆλ‹€. μ˜λ„μΉ˜ μ•Šκ²Œ μ‹œμŠ€ν…œμ„ λ‚΄λ¦¬λŠ” 일이 없도둝 ν•˜κΈ° μœ„ν•΄μ„œμ΄λ‹€.

POSIX.1μ—μ„œλŠ” kill(-1,sig)라고 ν•˜λ©΄ κ΅¬ν˜„μ—μ„œ μ •μ˜ν•˜λŠ” 일뢀 μ‹œμŠ€ν…œ ν”„λ‘œμ„ΈμŠ€λ“€μ„ μ œμ™Έν•˜κ³  호좜 ν”„λ‘œμ„ΈμŠ€κ°€ μ‹œκ·Έλ„μ„ 보낼 수 μžˆλŠ” λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λ“€μ—κ²Œ sigλ₯Ό 보내기λ₯Ό μš”κ΅¬ν•œλ‹€. λ¦¬λˆ…μŠ€μ—μ„œλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μŠ€μŠ€λ‘œμ—κ²Œ μ‹œκ·Έλ„μ„ 보낼 수 μžˆμ§€λ§Œ kill(-1,sig) ν˜ΈμΆœμ€ 호좜 ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ‹œκ·Έλ„μ„ 보내지 μ•ŠλŠ”λ‹€.

POSIX.1μ—μ„œλŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μŠ€μŠ€λ‘œμ—κ²Œ μ‹œκ·Έλ„μ„ λ³΄λ‚΄λŠ”λ° 솑신 μŠ€λ ˆλ“œκ°€ κ·Έ μ‹œκ·Έλ„μ„ 막고 μžˆμ§€ μ•Šκ³ , λ‹€λ₯Έ μ–΄λ–€ μŠ€λ ˆλ“œλ„ κ·Έ μ‹œκ·Έλ„μ„ λΉ„μ°¨λ‹¨μœΌλ‘œ λ‘κ±°λ‚˜ sigwait(3)μ—μ„œ 기닀리고 μžˆμ§€ μ•ŠμœΌλ©΄ kill()이 λ°˜ν™˜ν•˜κΈ° 전에 솑신 μŠ€λ ˆλ“œμ—κ²Œ μ΅œμ†Œ ν•œ 개의 비차단 μ‹œκ·Έλ„μ΄ μ „λ‹¬λ˜μ–΄μ•Ό ν•œλ‹€κ³  μš”κ΅¬ν•œλ‹€.

λ¦¬λˆ…μŠ€ μ°Έκ³  사항

λ‹€μ–‘ν•œ 컀널 버전듀에 걸쳐 λ¦¬λˆ…μŠ€μ—μ„œλŠ” λΉ„νŠΉκΆŒ ν”„λ‘œμ„ΈμŠ€κ°€ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ‹œκ·Έλ„μ„ 보내기 μœ„ν•΄ ν•„μš”ν•œ κΆŒν•œμ— μžˆμ–΄ μƒμ΄ν•œ κ·œμΉ™λ“€μ„ μ μš©ν•΄ μ™”λ‹€. 컀널 1.0μ—μ„œ 1.2.2κΉŒμ§€μ—μ„œλŠ” μ†‘μ‹ μžμ˜ μ‹€νš¨ μ‚¬μš©μž IDκ°€ λŒ€μƒμ˜ μ‹€νš¨ μ‚¬μš©μž ID와 μΌμΉ˜ν•˜κ±°λ‚˜ μ†‘μ‹ μžμ˜ μ‹€μ œ μ‚¬μš©μž IDκ°€ λŒ€μƒμ˜ μ‹€μ œ μ‚¬μš©μž ID와 μΌμΉ˜ν•˜λ©΄ μ‹œκ·Έλ„μ„ 보낼 수 μžˆμ—ˆλ‹€. 컀널 1.2.3μ—μ„œ 1.3.77κΉŒμ§€μ—μ„œλŠ” μ†‘μ‹ μžμ˜ μ‹€νš¨ μ‚¬μš©μž IDκ°€ λŒ€μƒμ˜ μ‹€μ œ μ‚¬μš©μž ID와 μ‹€νš¨ μ‚¬μš©μž ID 쀑 ν•œμͺ½κ³Ό μΌμΉ˜ν•˜λ©΄ μ‹œκ·Έλ„μ„ 보낼 수 μžˆμ—ˆλ‹€. 컀널 1.3.78μ—μ„œ POSIX.1을 μ€€μˆ˜ν•˜λŠ” ν˜„ν–‰ κ·œμΉ™μ„ μ±„νƒν–ˆλ‹€.

BUGS

2.6.7κΉŒμ§€μ˜ 2.6 μ»€λ„λ“€μ—λŠ” ν”„λ‘œμ„ΈμŠ€ κ·Έλ£Ήμ—κ²Œ μ‹œκ·Έλ„μ„ 보낼 λ•Œ ν˜ΈμΆœμžκ°€ κ·Έ ν”„λ‘œμ„ΈμŠ€ 그룹의 (전체가 μ•„λ‹ˆλΌ) 아무 κ΅¬μ„±μ›μ—κ²ŒλΌλ„ μ‹œκ·Έλ„μ„ 보낼 κΆŒν•œμ΄ μ—†μœΌλ©΄ EPERM 였λ₯˜λ‘œ kill()이 μ‹€νŒ¨ν•˜λŠ” 버그가 μžˆμ—ˆλ‹€. 이 였λ₯˜ λ°˜ν™˜μ—λ„ λΆˆκ΅¬ν•˜κ³  ν˜ΈμΆœμžκ°€ μ‹œκ·Έλ„μ„ 보낼 κΆŒν•œμ΄ μžˆλŠ” λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€μ—κ²Œ μ‹œκ·Έλ„μ΄ μ „λ‹¬λ˜κΈ°λŠ” ν–ˆλ‹€.

SEE ALSO

kill(1), _exit(2), signal(2), tkill(2), exit(3), killpg(3), sigqueue(3), capabilities(7), credentials(7), signal(7)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️