国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

用C語言實現HUP信號重啟進程

2020-02-24 14:33:41
字體:
來源:轉載
供稿:網友

大家好啊,上一回中咱們說的是進程間同步與相互排斥的樣例,這一回咱們說說用C語言實現HUP信號重啟進程,感興趣的你可以跟隨武林技術小編往下看看,希望本文所提供知識點可以幫助到你。

代碼如下所示:

復制代碼 代碼如下:

#include
#include
#include
#include
#include
#include
#include
#include
char **bak_argv;
int flag = 0;
void restart(void);
void sighup_handler(int sig);
// argv[0] 盡量使用絕對路徑, 因為程序執行過程中可能會使用 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);
}

以上就是用C語言實現HUP信號重啟進程,如果大家想了解更多相關內容,請持續關注本站,武林小編將在第一時間為大家帶來更好的經典內容。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 临夏县| 兰考县| 松溪县| 金乡县| 会同县| 三台县| 桂东县| 浮山县| 镇巴县| 东辽县| 清镇市| 法库县| 应城市| 林芝县| 都安| 沁源县| 桃源县| 伊吾县| 独山县| 兴安县| 大荔县| 综艺| 广汉市| 江西省| 藁城市| 四会市| 山阳县| 陕西省| 唐河县| 汉阴县| 八宿县| 江城| 栖霞市| 梁平县| 汕尾市| 徐汇区| 游戏| 佳木斯市| 布拖县| 长治县| 东阳市|