gpt4 book ai didi

c++ - 从基本的 c/cpp Linux 应用程序中公开状态信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:40 25 4
gpt4 key购买 nike

我正在尝试提供一种类似于 Linux 中内核驱动程序/模块的/proc 条目的查询机制 - 除了我有一个用户空间应用程序。

这是在 Linux 中运行的 c/cpp 应用程序。我想完成类似的事情:

$ cat/proc/myapp/status

它调用我的应用程序中的一个函数来打印几行自定义状态信息。

显然我不能在用户空间应用程序中使用 proc,但是如何从用户应用程序中完成类似的事情呢?这是嵌入式 Linux,所以 dbus 很可能不可用

最佳答案

您需要解决两件事。一个是流程将是什么,另一个是流程将要执行的内容。

至于流程是什么,几乎可以是任何你想要的。例如,您可以向进程发送信号(如 SIGUSR1 ),并将其状态写入文件。您可以连接一个 UNIX 域本地套接字并写入其状态。您有很多选择。

第二件事是什么将实际执行该过程。一种方法是使用特殊的命令行选项启动您的应用程序,例如 --status , 它执行生成状态所需的步骤并将它们写入标准输出。这将允许你做类似 MyApplication --status 的事情查看状态或 MyApplication --status | SomeOther Application将状态发送到其他应用程序。

您可以只打开一个日志文件,在 SIGUSR1 时将状态写入其中收到。然后你可以使用tail -f <logfile>的版本然后使用 kill发送SIGUSR1到您的应用程序。

这取决于你。没有“唯一正确的方法”。

关于c++ - 从基本的 c/cpp Linux 应用程序中公开状态信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54701515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com