您的位置:首页 > 运维架构 > Linux

一个简单的linux守护进程

2011-09-15 17:26 417 查看
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <syslog.h>
#include <string.h>
int main(void) {
        pid_t pid, sid;
pid = fork();
if (pid < 0) {
exit(EXIT_FAILURE);
}
if (pid > 0) {
exit(EXIT_SUCCESS);
}
umask(0);
sid = setsid();
        if (sid < 0) {
exit(EXIT_FAILURE);
}
syslog(LOG_INFO,"my program started!");
        if ((chdir("/")) < 0) {
exit(EXIT_FAILURE);
 }
close(STDIN_FILENO);
close(STDOUT_FILENO);
        close(STDERR_FILENO);
        while (1) {
sleep(30);
}
exit(EXIT_SUCCESS);
}
------------
存为 :my.c
在其所在目录下
命令行中输入:
gcc -o my my.c
再输入,执行my
./my
然后,成功的话会在/var/log/messages 文件中看到
my program started!
现在,该守护进程已经顺利运行了!
可以查看该程序的PID后(假如是6000)用用 kill 6000即杀死该进程。
2011-9-5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: