■掲示板に戻る■ 1- 最新50

あらあら、宿題なのね?

80 :名無しさん@お腹いっぱい。 :02/07/02 23:57
>>79
えーと、やりたいことというのは SIGTERM を
受け取ったときに、すぐ死亡するのではなく、
なんらかの処理を行うためにループを抜けたい、
ということ?
自分なら、

sig_atomic_t g_flag = 1;

void signal_handler(int sig)
{
signal(SIGTERM, SIG_IGN);
g_flag = 0;
}

int main(int argc, char **argv)
{
  signal(SIGTERM, signal_hander);
  :
  :
  while (g_flag) {
    :
    :
  }
}

とかやって抜ける。
SIG_DFL だと kill 連発されたら後処理でき
ずに死ぬよ?




read.cgi ver5.26+ (01/10/21-)