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啊?