回答編集履歴
1
言い回し修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
int kill(pid_t pid, int sig);
|
6
6
|
```
|
7
7
|
親プロセスの fork() は子プロセスのプロセスIDを返します。そのまま kill() の引数にできるので、親は割と簡単です。注意すべきは子プロセスの方でしょう。
|
8
|
-
- まず、**シグナルハンドラ関数**を用意します。この関数はシグナル
|
8
|
+
- まず、**シグナルハンドラ関数**を用意します。この関数はシグナルを受けた時に呼ばれるので、その時点で**フラグ変数をセット**するようにします。
|
9
9
|
- 無限ループは、単純に回っているのではなく、ループの最中に**フラグ変数をチェックしながら回る**ようにします。
|
10
10
|
- シグナルを受けるには、**予めシグナルハンドラ関数を「登録」しておく**必要がありまして、そのための関数が signal() 関数です。関数ポインタを使うことになります。下の "handler" がそうです。
|
11
11
|
|