【问题标题】:In C++, how to get the path to a service in Linux?在 C++ 中,如何在 Linux 中获取服务的路径?
【发布时间】:2015-04-05 02:07:27
【问题描述】:

给定servicedaemon 的名称,我是否可以通过某种方式从Linux 中的C++ 程序中获取该服务的位置? 我希望,一种方法是使用pid 搜索proc filesystem。是否存在一些 Linux 函数?

谢谢

编辑:更具体地说,我正在为 Windows 中的this 程序编写 Linux 等效代码。

【问题讨论】:

  • 我尝试了一个正在执行的程序的路径。但是没用
  • 你能发布你的代码吗?
  • 与链接中的代码相同
  • 好的。从您的帖子和 cmets 不清楚“没用”是什么意思,错误是什么?
  • *** Crashed with return code: 0 ***

标签: c++ linux service path daemon


【解决方案1】:

您可以执行系统函数并将其输出重定向到文件。稍后阅读该文件。例如,

system ("which rsyslogd >service.out");

然后在程序中,就可以读取service.out了。

【讨论】:

  • 如果我的服务不在 bin 或 sbin 等标准位置怎么办
  • 它应该在 PATH 中的目录之一中。将其保留在 PATH 目录之外的任何特殊原因?
  • 可能在某些情况下必须这样做。
  • 好吧,在那种情况下,你可以在系统函数中使用“find”命令,而不是“which”,然后在程序中使用“find”的输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 2013-11-13
  • 1970-01-01
  • 2020-08-09
  • 2010-09-08
  • 1970-01-01
相关资源
最近更新 更多