Re: [問題] 利用SIGSEGV來重啟原本程式
請看
http://goo.gl/FWGMg
重點就是
signal handler 沒有結束的話。同一signal 是會被block住的。
※ 引述《awaysu》之銘言:
: void sighandler (int signal_number)
: {
: signal(SIGTERM, SIG_IGN);
: if (fork() == 0)
: {
: printf("run app again;\n");
: system("./testapp");
: exit(EXIT_SUCCESS);
: }
: exit(EXIT_SUCCESS);
: }
: int main(int argc, char *argv[])
: {
: printf("run app start!! %d\n", getpid());
: struct sigaction sa;
: memset (&sa, 0, sizeof (sa));
: sa.sa_handler = &sighandler;
: sigaction (SIGSEGV, &sa, NULL);
: sleep(3);
: *(volatile unsigned char *)0;
: return 0;
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.8.191
推
08/06 00:38, , 1F
08/06 00:38, 1F
→
08/06 01:11, , 2F
08/06 01:11, 2F
推
08/07 15:38, , 3F
08/07 15:38, 3F
推
08/07 15:54, , 4F
08/07 15:54, 4F
→
08/07 15:55, , 5F
08/07 15:55, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章