- 论坛徽章:
- 0
|
下面的代码
gcc -o test test.c
如果使用nohup 启动 test 那么程序接受不到信号
否则正常可以接受信号
请好心人帮忙
------------------ #include <stdio.h>
- #include <signal.h>
- #include <unistd.h>
- static void sig_usr(int);
- int main(void)
- {
- if(signal(SIGUSR1, sig_usr) == SIG_ERR)
- printf("can't catch SIGUSR1\n");
- if(signal(SIGUSR2, sig_usr) == SIG_ERR)
- printf("can't catch SIGUSR2\n");
- for(; ;)
- pause();
- }
- static void sig_usr(int signo)
- {
- if(signo == SIGUSR1)
- printf("received SIGUSR1\n");
- else if(signo == SIGUSR2)
- printf("received SIGUSR2\n");
- else
- printf("received signal %d\n", signo);
- }
复制代码 |
|