a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

用c語言實(shí)現(xiàn)HUP信號(hào)重啟進(jìn)程的方法

2020-01-26 16:06:54
字體:
供稿:網(wǎng)友
代碼如下所示:
復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <errno.h>
#include <syslog.h>
#include <stdarg.h>
char **bak_argv;
int flag = 0;
void restart(void);
void sighup_handler(int sig);
// argv[0] 盡量使用絕對(duì)路徑, 因?yàn)槌绦驁?zhí)行過程中可能會(huì)使用 chdir() .
int main(int argc, char *argv[])
{
 openlog("sig_hup", LOG_PID, 0);
 syslog(LOG_ERR, "%s", argv[0]);
 closelog();

 bak_argv = argv;
 signal(SIGHUP, sighup_handler);

 while(1)
 {
  if(flag)
   restart();
  sleep(10);
 }
 return 0;
}
void sighup_handler(int sig)
{
 flag = 1;
}
void restart(void)
{
 switch(fork())
 {
  case -1:
   openlog("sig_hup", LOG_PID, 0);
   syslog(LOG_ERR, "fork failed: %s", strerror(errno));
   closelog();

   exit(EXIT_FAILURE);
   break;
  case 0:
   break;
  default:
   exit(EXIT_SUCCESS);
 }
 execv(bak_argv[0], bak_argv);

 openlog("sig_hup", LOG_PID, 0);
 syslog(LOG_ERR, "execv(%s, ...) failed: %s/n", bak_argv[0], strerror(errno));
 closelog();

 exit(EXIT_FAILURE);
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 91免费版在线观看 | 91中文字幕在线 | 欧美成人精精品一区二区频 | 国产福利电影在线观看 | 韩日精品视频 | 天天操天天干天天干 | 日韩一级免费观看 | 久久久久久久伦理 | 国产二区三区 | 综合一区二区三区 | 中文av在线免费观看 | 91麻豆精品国产91久久久更新时间 | 日韩2020狼一二三 | 国产激情免费 | www.sihu| 在线播放国产一区二区三区 | 九一亚洲精品 | 91天天综合 | 综合一区二区三区 | 亚洲视频一区在线播放 | 99av| 日韩一区二区三区在线 | 成人免费一区二区三区视频网站 | 欧美日韩国产一区二区三区不卡 | 久久久精品国产 | 精品亚洲一区二区三区四区五区 | 精品av| 欧美日韩三级 | 四虎永久网址 | 97在线免费视频 | xxxcom在线观看 | 爱爱小视频免费看 | 最新日韩视频 | 超碰免费在线 | 国产黄色毛片 | www.亚洲区| 久久久久久综合 | 羞羞的网站在线观看 | 亚洲精彩视频 | 亚欧洲精品视频在线观看 | 中文字幕一级 |