我正在用C ++运行一个简单的守护程序测试。它在没有sleep()的情况下运行良好,但是如果我添加sleep()函数,它将运行一次,然后保持睡眠状态。此外,第一次运行应该在logs / log.dat文件中打印一次“ Hello”,但这也不会发生。这是代码:
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <unistd.h>
using namespace std;
int main(int argc, char** argv) {
FILE *f = NULL;
if ((f = fopen("logs/log.dat ", "w")) != NULL) {
if (daemon(0, 0) >= 0) {
while (true) {
fprintf(f, "%s\n", "Hello");
sleep(5);
}
} else {
fprintf(f, "%s\n", "Error detaching terminal");
}
} else {
printf("%s\n", "Cannot open log file");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1800 次 |
| 最近记录: |