我正在使用命令行应用程序来帮助我启动任务,通过返回BOOL来了解任务是否正在运行,当我需要执行命令行并获取输出以进行进一步解析时,问题就出现了。 / p>
我用C / C ++编写代码所以我不能使用NSTask,关于如何实现目标的任何想法?
命令
sudo launchctl list -x [job_label]
如果我使用system(),我无法得到输出,所以在进一步的研究中我带了popen(),但没有成功。
提前致谢。
答案 0 :(得分:0)
您需要创建一个管道,您可以从中读取程序的输出。这将涉及使用pipe
,fork
,exec*
甚至dup
。 the linux documentation project上有一个很好的教程。
答案 1 :(得分:0)
您可以使用pipe()
,fork()
和exec*()
系列函数以家酿方式进行,或者如果约束符合您的要求,您可以使用popen()
要求。