麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > C > 正文

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

2020-01-26 16:06:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(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ā)表

圖片精選

主站蜘蛛池模板: 激情小说另类 | 久久免费看毛片 | 国产1区视频| 成人免费在线网 | 视频一区二区三区在线播放 | 久久精品国产精品亚洲 | 中文字幕亚洲一区二区三区 | 亚洲日本高清 | 99seav| 国产亚洲精品综合一区91555 | 色婷婷久久一区二区 | 久久久久久久一区 | 久久99精品久久久久久小说 | 国产精品久久久久无码av | 亚洲午夜激情网 | 国产乱轮视频 | 亚洲欧美天堂 | 中文字幕精品在线播放 | 美女羞羞视频网站 | 91欧美视频| 久久国产一二三 | 一级免费黄色免费片 | 自拍偷拍亚洲图片 | 极品xxxx欧美一区二区 | 亚洲一区成人在线 | 九一免费在线观看 | 久久久久久久久日本理论电影 | 欧美精品欧美极品欧美激情 | 13一14毛片免费看 | 欧美日本在线播放 | 中文字幕www | 牛牛碰在线视频 | 成年人在线视频观看 | 国产美女视频一区二区三区 | 九九热精彩视频 | 精品国产乱码久久久久久久 | av免费片| 俄罗斯hdxxx 日夜操天天干 | 毛片在线视频观看 | 成人在线视频播放 | 国产一区二区三区手机在线 |