当前位置: 技术问答>linux和unix
fork, execv后 timer 失效
来源: 互联网 发布时间:2017-03-12
本文导语: 程序中有 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; 但是当我 pid = fork(); if(pid == 0) { execv(argv[0], ...
程序中有
程序按间隔时间调用 handler; 但是当我
后, fork, execv生成的进程, 一直处于 pause 状态, 定时器没有效果.
不知道是什么原因?
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; 但是当我
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啊?