1. ホーム
  2. c

[解決済み] SIGUSR1、SIGUSR2 のトリガーをどうするか?

2022-01-28 19:48:25

質問

C言語のシグナルについて学んでいるのですが、どのようなシグナルがあるのかがわかりません。 SIGUSR1SIGUSR2 はどのようなもので、どのようにトリガーすればよいのでしょうか。どなたか説明していただけませんか?

解決方法は?

それらは ユーザー定義 シグナルは、特定のアクションによってトリガーされるわけではありません。 プログラムで明示的に送信することができます。

#include <signal.h>

kill(pid, SIGUSR1);

ここで pid は受信プロセスのプロセスIDです。 受信側では、それらに対応したシグナルハンドラを登録することができます。

#include <signal.h>

void my_handler(int signum)
{
    if (signum == SIGUSR1)
    {
        printf("Received SIGUSR1!\n");
    }
}

signal(SIGUSR1, my_handler);