pthread_kill -
スレッドにシグナルを送信する
#include <signal.h>
int pthread_kill(pthread_t thread, int sig);
-pthread
を付けてコンパイルとリンクを行う。
pthread_kill()
関数は、呼び出したスレッドと同じプロセスの
別のスレッド
thread
にシグナル
sig
を送信する。
シグナルは非同期に
thread へ直接送られる。
sig が 0
の場合、シグナルは送信されないが、
エラーチェックだけは実行される。
これを使うと、スレッド
ID
が存在するかの確認を行うことができる。
返り値¶
成功すると、
pthread_kill() は
0 を返す。
エラーの場合、エラー番号を返し、シグナルの送信は行わない。
エラー¶
- EINVAL
- 無効なシグナルが指定された。
- ESRCH
- ID が thread
のスレッドが見つからなかった。
POSIX.1-2001.
シグナルの配送はプロセス全体で行われる。
シグナルハンドラが設定されている場合、
そのハンドラがスレッド
thread で起動されるが、
シグナルの配送が
"stop", "continue", "terminate"
のいずれかの場合、
シグナルに対するアクションはプロセス全体に影響がある。
関連項目¶
kill(2) sigaction(2),
sigpending(2),
pthread_self(3),
pthread_sigmask(3),
raise(3),
pthreads(7),
signal(7)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。