国产探花免费观看_亚洲丰满少妇自慰呻吟_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信號重啟進程,如果大家想了解更多相關內容,請持續關注本站,武林小編將在第一時間為大家帶來更好的經典內容。

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

圖片精選

主站蜘蛛池模板: 汪清县| 长乐市| 连江县| 天镇县| 曲靖市| 盐津县| 大安市| 宾阳县| 唐海县| 海宁市| 长岛县| 芒康县| 紫阳县| 景宁| 报价| 夏邑县| 柘荣县| 威信县| 怀化市| 德昌县| 轮台县| 丹棱县| 阜阳市| 云南省| 温泉县| 永济市| 武鸣县| 疏附县| 惠水县| 孝义市| 长宁区| 漳州市| 绥德县| 开远市| 北海市| 静海县| 霍州市| 兰坪| 南通市| 农安县| 长垣县|