让一个程序在后台运行有很多方法,之前一直用的是 ./hello & 这样的形式。这个&符号就可以告诉操作系统以后台的方式运行可执行文件。今天我们来讲讲Daemon函数如何让一个程序在后台运行。
Daemon函数介绍:
#includeint daemon(int nochdir, int noclose)
参数说明:
当nochdir为零时,当前目录变为根目录,否则不变。
当noclose为零时,标准输入,标准输出,错误输出重定向为/dev/null.也就是不输出任何信息,否则照样输出。
返回值:
deamon()调用了fork(),如果fork成功那么父进程就调用_exit(2)退出,所以看到的错误信息全部是子进程产生的,如果成功函数返回0,否则返回-1并设置errno.
#include #include #include #include #include int main(int argc, char *argv[]){char strCurPath[PATH_MAX];if (daemon(1, 1) < 0){perror("error daemon ... ")exit(1);}sleep(10);if (getcwd(strCurPath, PATH_MAX) == NULL){perror("error ge