kill(2) - wariua/manpages-ko GitHub Wiki
kill - νλ‘μΈμ€μκ² μκ·Έλ 보λ΄κΈ°
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
glibc κΈ°λ₯ νμΈ λ§€ν¬λ‘ μ건 (feature_test_macros(7) μ°Έκ³ ):
-
kill()
: _POSIX_C_SOURCE
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 μ°Έκ³ .)
μ±κ³΅ μ (μκ·Έλμ μ΅μ νλ 보λμΌλ©΄) 0μ λ°ννλ€. μ€λ₯ μ -1μ λ°ννλ©° errno
λ₯Ό μ μ ν μ€μ νλ€.
EINVAL
- μ ν¨νμ§ μμ μκ·Έλμ μ§μ νλ€.
EPERM
- νλ‘μΈμ€μκ² λμ νλ‘μΈμ€λ€ μ€ μ΄λ κ²μλ μκ·Έλμ λ³΄λΌ κΆνμ΄ μλ€.
ESRCH
- νλ‘μΈμ€ λ΄μ§ νλ‘μΈμ€ κ·Έλ£Ήμ΄ μ‘΄μ¬νμ§ μλλ€. μ°Έκ³ λ‘ μ‘΄μ¬νλ νλ‘μΈμ€κ° μ€νμ λ§μ³€μ§λ§ μμ§ wait(2) λμ§ μμ μ’λΉμΌ μλ μλ€.
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
νλ‘μΈμ€ 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μ μ€μνλ νν κ·μΉμ μ±ννλ€.
2.6.7κΉμ§μ 2.6 컀λλ€μλ νλ‘μΈμ€ κ·Έλ£Ήμκ² μκ·Έλμ λ³΄λΌ λ νΈμΆμκ° κ·Έ νλ‘μΈμ€ κ·Έλ£Ήμ (μ μ²΄κ° μλλΌ) μ무 ꡬμ±μμκ²λΌλ μκ·Έλμ λ³΄λΌ κΆνμ΄ μμΌλ©΄ EPERM
μ€λ₯λ‘ kill()
μ΄ μ€ν¨νλ λ²κ·Έκ° μμλ€. μ΄ μ€λ₯ λ°νμλ λΆκ΅¬νκ³ νΈμΆμκ° μκ·Έλμ λ³΄λΌ κΆνμ΄ μλ λͺ¨λ νλ‘μΈμ€μκ² μκ·Έλμ΄ μ λ¬λκΈ°λ νλ€.
kill(1)
, _exit(2), signal(2), tkill(2), exit(3), killpg(3), sigqueue(3), capabilities(7), credentials(7), signal(7)
2017-09-15