fork, execv后 timer 失效
程序中有
- C/C++ code
setitimer(ITIMER_REAL, &timer, NULL); act.sa_handler = handler; sigemptyset(&act.sa_mask); act.sa_flags = 0; sigaction(SIGALRM, &act, 0); while(1) { pause(); }
程序按间隔时间调用 handler; 但是当我
- C/C++ code
pid = fork(); if(pid == 0) { execv(argv[0], argv); exit(0); } else if(pid > 0) { exit(0); } else { exit(-1); }
后, fork, execv生成的进程, 一直处于 pause 状态, 定时器没有效果.
不知道是什么原因?
exec后,timer自然没有了。
exec 自己?会不会一直fork啊?