Linux守护进程加上发送信号固定模式
来源:互联网 发布:淘宝客好做不 编辑:程序博客网 时间:2024/06/06 03:43
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <sys/wait.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/stat.h>#include <sys/shm.h>#include <ctype.h>#include <errno.h>int singnal1(int signo, void (*func)(int)){struct sigaction act, oact;act.sa_handler = func;sigemptyset(&act.sa_mask);act.sa_flags = 0;return sigaction(signo, &act, &oact);}void setdaemon(){pid_t pid, sid;pid = fork();if (pid < 0){exit(EXIT_FAILURE);}if (pid > 0){exit(EXIT_SUCCESS);}if ((sid = setsid()) < 0){printf("setsid failed %s\n", strerror(errno));exit(EXIT_FAILURE);/*chdir("/"); umask(0); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO);*/}}void listenfifo(){const char *sfifoname = "fifo1";int len = 0;char buf[128];memset(buf, 0, sizeof(buf));int fd = open(sfifoname, O_RDONLY);//打开fifo管道文件if (fd == -1){printf("open %s failed, %s\n", sfifoname, strerror(errno));}len = read(fd, buf, sizeof(buf)); // 进程阻塞,直到数据来了才返回if (len > 0){if (buf[strlen(buf) - 1] == '\n'){buf[strlen(buf) - 1] = 0;}close(STDOUT_FILENO);open(buf, O_WRONLY);}close(fd);}void catch_Signal(int Sign){switch (Sign){case SIGINT:listenfifo();break;}}int main(void){setdaemon();//吧进程设置为daemon状态singnal1(SIGINT, catch_Signal);//捕捉int信号while (1){puts("!!!Hello World!!!");sleep(1);}return EXIT_SUCCESS;}
0 0
- Linux守护进程加上发送信号固定模式
- linux高编之信号守护进程
- Linux信号处理和守护进程
- Linux之进程间发送信号
- Linux kill --终止进程/发送信号
- linux信号处理--通过发送信号控制进程
- linux多进程——进程组与会话、守护进程、信号通信
- linux多进程——进程组与会话、守护进程、信号通信
- linux多进程——进程组与会话、守护进程、信号通信 .
- 【转载】linux杀死进程以及发送或响应信号
- linux c++ 进程间信号的发送与接收
- LINUX守护进程介绍
- Linux守护进程简介
- linux 守护进程编写
- linux 守护进程 daemon
- Linux实现守护进程
- Linux 守护进程
- linux 守护进程
- 【MyBatis框架】高级映射-一对多查询
- cscope.exe程序的base64文本
- JAVA代理模式--静态代理
- seajs 3.0.0 源码阅读笔记
- 一个关于EPOLLET和EPOLLLT的问题
- Linux守护进程加上发送信号固定模式
- iOS Autolayout 介绍 2 Interface Builder 技巧
- Linux下的tar压缩解压缩命令详解
- python学习——列表生成式
- android中MVP模式(一)
- 华为机试题【13】-wave数组找字母游戏
- iOS学习(二十三)Objective-C 静态vs动态
- NYOJ-阶乘因式分解(一)(二)
- Irrlicht学习笔记(11)--TerrainRender