【发布时间】:2016-03-16 19:36:36
【问题描述】:
我正在使用 perror() 打印错误消息,例如:
pid = fork();
if (pid < 0) {
perror("couldn't fork");
exit(EXIT_FAILURE);
}
是否可以使用errno/perror() 设施,但将生成的消息定向到系统日志(/var/log/syslog)?
我在可以在守护程序和非守护程序模式下运行的程序的上下文中提出这个问题。在守护进程模式下,perror() 消息不会出现在系统日志中。
【问题讨论】:
-
在代码中尽早检查当前模式。然后编写一个以字符串为参数的小函数,并根据程序前面设置的当前模式调用 perror() 或调用 syslog()
标签: c error-handling daemon syslog errno