Man page - kill(2)

Packages contains this manual

Available languages:

en fr pl nl tr ja ru ro

Manual

KILL

損 才
曞 ćŒ
èȘŹ æ˜Ž
èż” り 怀
ス ラ ăƒŒ
æș– 拠
æłš 意
Linux で た æłš 意
バ グ
閱 連 項 盼
こ た 文 曞 に ぀ い お

損 才

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 に æ­Ł た 怀 を 指 漚 し た ć Ž 搈 、 ă‚· グ ナ ル sig が pid で 指 漚 さ れ た ID を 持 ぀ プ ロ ă‚» ă‚č に 送 ら れ る 。

pid に 0 を 指 漚 し た ć Ž 搈 、 ć‘Œ び ć‡ș し 慃 た プ ロ ă‚» ă‚č た プ ロ ă‚» ă‚č グ ル ăƒŒ プ に 汞 す る す ăč お た プ ロ ă‚» ă‚č に sig で 指 漚 し た ă‚· グ ナ ル が 送 ら れ る 。

pid に -1 を 指 漚 し た ć Ž 搈 、 sig で 指 漚 し た ă‚· グ ナ ル が 、 ć‘Œ び ć‡ș し 慃 た プ ロ ă‚» ă‚č が ă‚· グ ナ ル を 送 る èš± 揯 を 持 ぀ 慹 お た プ ロ ă‚» ă‚č に 送 ら れ る 。 䜆 し 、 プ ロ ă‚» ă‚č ç•Ș ć· 1 ( init ) ぞ は ă‚· グ ナ ル は 送 ら れ ăȘ い 。 仄 例 た 閱 連 郚 戆 も 揂 照 た こ ず 。

pid に -1 よ り 氏 さ ăȘ 怀 を 指 漚 し た ć Ž 搈 、 ID が -pid た プ ロ ă‚» ă‚č グ ル ăƒŒ プ に 汞 す る す ăč お た プ ロ ă‚» ă‚č に sig で 指 漚 し た ă‚· グ ナ ル が 送 ら れ る 。

If sig is 0, then no signal is sent, but existence and permission checks are still performed; this can be used to check for the existence of a process ID or process group ID that the caller is permitted to signal.

For a process to have permission to send a signal, it must either be privileged (under Linux: have the CAP_KILL capability in the user namespace of the target process), or the real or effective user ID of the sending process must equal the real or saved set-user-ID of the target process. In the case of SIGCONT , it suffices when the sending and receiving processes belong to the same session. (Historically, the rules were different; see NOTES.)

èż” り 怀

成 ㊟ し た ć Ž 搈 (民 ăȘ く ず も 侀 ぀ た ă‚· グ ナ ル が 送 俥 さ れ た ć Ž 搈 )、 0 が èż” さ れ る 。 ス ラ ăƒŒ た ć Ž 搈 -1 が èż” さ れ 、 errno が 適 戇 に èš­ 漚 さ れ る 。

ス ラ ăƒŒ

EINVAL

無 ćŠč ăȘ ă‚· グ ナ ル を 指 漚 し た 。

EPERM

ć‘Œ び ć‡ș し 慃 た プ ロ ă‚» ă‚č が 、 揗 俥 す る プ ロ ă‚» ă‚č た い ず れ に ćŻŸ し お も ă‚· グ ナ ル を 送 る èš± 揯 を 持 っ お い ăȘ い 。

ESRCH

The target process or process group does not exist. Note that an existing process might be a zombie, a process that has terminated execution, but has not yet been wait (2)ed for.

æș– 拠

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

æłš 意

プ ロ ă‚» ă‚č ç•Ș ć· 1 た init プ ロ ă‚» ă‚č に 送 る こ ず が で き る ă‚· グ ナ ル は 、 init が 明 ç€ș 的 に ă‚· グ ナ ル ハ ン ド ラ ăƒŒ を èš­ 漚 し た ă‚· グ ナ ル だ け で あ る 。 こ う ăȘ っ お い る た は 、 èȘ€ っ お ă‚· ă‚č テ ム を ダ ォ ン さ せ ăȘ い よ う に す る た め で あ る 。

POSIX.1 で は 、 kill(-1,sig) が ć‘Œ び ć‡ș し 慃 た プ ロ ă‚» ă‚č が ă‚· グ ナ ル を 送 る こ ず が ć‡ș 杄 る プ ロ ă‚» ă‚č 慹 お に sig を 送 る こ ず を 芁 求 し お い る 。 䜆 し 、 ă‚· ă‚č テ ム 漟 èŁ… 時 に 漚 め ら れ た ă‚· ă‚č テ ム プ ロ ă‚» ă‚č は ă‚· グ ナ ル た 送 俥 ćŻŸ è±Ą か ら 陀 怖 さ れ る 。 Linux で は 、 プ ロ ă‚» ă‚č が è‡Ș 戆 è‡Ș èș« に ă‚· グ ナ ル を 送 れ る よ う に ăȘ っ お い る が 、 Linux た kill(-1,sig) は ć‘Œ び ć‡ș し 慃 た プ ロ ă‚» ă‚č に は ă‚· グ ナ ル を 送 ら ăȘ い 。

POSIX.1 で は 仄 例 た 拕 䜜 に ăȘ る こ ず を 芁 求 し お い る 。 è‡Ș 戆 è‡Ș èș« に ă‚· グ ナ ル を 送 る ず 、 ă‚· グ ナ ル を 送 っ た ă‚č ハ ッ ド が そ た ă‚· グ ナ ル を ブ ロ ッ ク し お お ら ず 、 他 た ど た ă‚č ハ ッ ド も そ た ă‚· グ ナ ル を 揗 け る 状 態 に も ăȘ く sigwait (3) で そ た ă‚· グ ナ ル を ćŸ… っ お も い ăȘ い ć Ž 搈 、 kill () が èż” る 才 に 民 ăȘ く ず も 侀 ぀ た ブ ロ ッ ク さ れ お い ăȘ い ă‚· グ ナ ル が ă‚· グ ナ ル を 送 っ た ă‚č ハ ッ ド に 配 送 さ れ ăȘ け れ ば ăȘ ら ăȘ い 。

Linux で た æłš 意

Linux で は 、 ç‰č æš© た ăȘ い プ ロ ă‚» ă‚č が 他 た プ ロ ă‚» ă‚č に ă‚· グ ナ ル を 送 俥 す る た め に 濅 芁 ăȘ æš© 限 に ぀ い お た ル ăƒŒ ル が 、 ă‚« ăƒŒ ネ ル バ ăƒŒ ゾ ョ ン に よ り 違 っ お い る 。 ă‚« ăƒŒ ネ ル 1.0 か ら 1.2.2 で は 、 送 俥 恎 た 漟 ćŠč ナ ăƒŒ ă‚¶ ăƒŒ ID が 送 俥 ćŻŸ è±Ą た 漟 ćŠč ナ ăƒŒ ă‚¶ ăƒŒ ID ず 侀 臎 す る か 、 送 俥 恎 た 漟 ナ ăƒŒ ă‚¶ ăƒŒ ID が 送 俥 ćŻŸ è±Ą た 漟 ナ ăƒŒ ă‚¶ ăƒŒ ID ず 侀 臎 す れ ば 、 ă‚· グ ナ ル を 送 俥 で き た 。 ă‚« ăƒŒ ネ ル 1.2.3 か ら 1.3.77で は 、 送 俥 恎 た 漟 ćŠč ナ ăƒŒ ă‚¶ ăƒŒ ID が 送 俥 ćŻŸ è±Ą た 漟 ナ ăƒŒ ă‚¶ ăƒŒ ID か 漟 ćŠč ナ ăƒŒ ă‚¶ ăƒŒ ID た い ず れ か ず 侀 臎 す れ ば ă‚· グ ナ ル を 送 俥 で き た 。 珟 朹 た ル ăƒŒ ル は 、 POSIX.1 に æș– 拠 し お お り 、 ă‚« ăƒŒ ネ ル 1.3.78 仄 降 で 適 甹 さ れ お い る 。

バ グ

バ ăƒŒ ゾ ョ ン 2.6.7 仄 才 た 2.6 çł» た ă‚« ăƒŒ ネ ル に は 、 プ ロ ă‚» ă‚č グ ル ăƒŒ プ に ă‚· グ ナ ル を 送 っ た ず き に 、 ć‘Œ び ć‡ș し 慃 た プ ロ ă‚» ă‚č が プ ロ ă‚» ă‚č グ ル ăƒŒ プ た (慹 ュ ン バ ăƒŒ で は ăȘ く ) 侀 郚 た ュ ン バ ăƒŒ に ćŻŸ し お た み ă‚· グ ナ ル を 送 る èš± 揯 を 持 っ お い ăȘ い ć Ž 搈 に 、 kill () が ス ラ ăƒŒ EPERM で 怱 敗 す る ず い う バ グ が あ る 。 こ た ス ラ ăƒŒ が èż” る に も か か わ ら ず 、 そ た ă‚· グ ナ ル は ć‘Œ び ć‡ș し 慃 が ă‚· グ ナ ル を 送 る èš± 揯 を 持 ぀ 慹 お た プ ロ ă‚» ă‚č ぞ 送 ら れ る 。

閱 連 項 盼

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

こ た 文 曞 に ぀ い お

こ た man ペ ăƒŒ ゾ は Linux man-pages プ ロ ゾ ェ ク ト た ăƒȘ ăƒȘ ăƒŒ ă‚č 5.10 た 侀 郚 で あ る 。 プ ロ ゾ ェ ク ト た èȘŹ æ˜Ž ず バ グ ć ± 摊 に 閱 す る 情 ć ± は https://www.kernel.org/doc/man-pages/ に 曞 か れ お い る 。