我在 Debian 上用 C 编写了一个小型服务。
此服务会自动从 Linux 启动,并按预期执行一些文件操作和其他操作。
该服务会将一些信息消息以及错误情况打印到标准输出。当我从控制台(而不是作为服务)运行二进制文件时,这些内容会在控制台窗口中显示出来。
到目前为止我唯一未能完成的事情就是当二进制文件作为服务运行时将其输出写入日志。
我查看了所有找到的搜索结果,以 root 身份查询日志,看到启动/停止服务的系统消息,但服务二进制文件没有打印任何内容。
我只是用printf("hey this should appear in the journal");
- 打印,但日志中什么都看不到。
根据各处的解释,服务的所有输出都应自动定向到日志,对吗?
我可能遗漏了什么,以免发生这种情况?
编辑
我发现了用于日志记录的特殊函数,但实际上我喜欢在控制台或日志中自动获取标准输出的想法,这取决于我如何运行二进制文件。
我尝试了一个 bash 脚本服务,发现它可以echo
按预期将消息写入日志。