当前位置: 首页 > 面试题库 >

Linux中的守护程序日志记录

干弘深
2023-03-14
问题内容

因此,我有一个在Linux系统上运行的守护程序,我想要记录其活动:日志。问题是,完成此任务的“最佳”方法是什么?

我的第一个想法是简单地打开一个文件并将其写入。

FILE* log = fopen("logfile.log", "w");
/* daemon works...needs to write to log */
fprintf(log, "foo%s\n", (char*)bar);
/* ...all done, close the file */
fclose(log);

用这种方式记录日志有天生的错误吗?有没有更好的方法,例如Linux内置的某些框架?


问题答案:

Unix长期以来一直使用一种称为syslog的特殊日志记录框架。输入您的外壳

man 3 syslog

您将获得C接口的帮助。

一些
例子

#include <stdio.h>
#include <unistd.h>
#include <syslog.h>

int main(void) {

 openlog("slog", LOG_PID|LOG_CONS, LOG_USER);
 syslog(LOG_INFO, "A different kind of Hello world ... ");
 closelog();

 return 0;
}


 类似资料:
  • 这类似于Docker守护程序日志在哪里?。但更多适用于Mac Docker Desktop。 在哪里可以找到Docker Desktop for Mac的守护程序日志?

  • 问题内容: 在Linux中,我想添加一个无法停止且监视文件系统更改的守护程序。如果检测到任何更改,则应在启动控制台的路径上加上换行符。 我已经准备好更改代码的文件系统了,但是我不知道如何创建守护程序。 我的代码来自这里:http : //www.yolinux.com/TUTORIALS/ForkExecProcesses.html 叉后该怎么办? 问题答案: 在Linux中,我想添加一个无法停止

  • 问题内容: 我正在编写Linux守护程序。我发现了两种方法。 通过调用和设置守护进程。 使用运行程序。 哪个是正确的方法? 问题答案: 来自http://www.steve.org.uk/Reference/Unix/faq_2.html#SEC16 以下是成为守护程序的步骤: 1. fork(),以便父级可以退出,这会将控制权返回给命令行或shell来调用您的程序。需要执行此步骤,以确保新流程不

  • 本文向大家介绍linux下的守护进程,包括了linux下的守护进程的使用技巧和注意事项,需要的朋友参考一下 Linux下的常驻进程的作用不可忽略,但这里面的问题也不能忽略,怎么启动进程,怎么结束进程,怎么在进程挂掉之后重启进程都要设计的合理。下面看一个shell控制的php常驻进程的例子。 不废话,直接捞干货,上代码,通过代码来讲解更容易理解: 只里面有几个要强调的地方: 我用这个shell去调用

  • 问题内容: 操作系统 :debian 8.0.0-amd64,ubuntu-15.04,16.04 码头工人 :1.xx 程序: 我更改为添加一个私有Docker注册表,然后重新启动了docker服务,最后尝试提取一些映像。 一个输出显示一无所知DOCKER_OPTS环境变种。 题: 根据Docker文档,使用私有注册表的方式是通过中的DOCKER_OPTS进行。为什么这样做之后在这种环境下不生效

  • 问题内容: 我正在做Java试卷,并且遇到了以下使我感到困惑的问题。 以下哪项是正确的?(选择所有适用项。) 答:当应用程序开始运行时,会有一个守护线程,其任务是执行main()。 B.当一个应用程序开始运行时,有一个非守护进程线程,其工作是执行main()。 C.由守护程序线程创建的线程最初也是守护程序线程。 D.由非守护程序线程创建的线程最初也是非守护程序线程。 关键答案是B,C,D,谁能告诉