【发布时间】:2012-11-19 13:41:40
【问题描述】:
我想用 execl 或 system(或其他命令)从“/sbin/”执行一个 Linux shell 命令,并隐藏它的输出。
我已经在使用“fork”来获取子进程...
如果我进入...
service "servicename" restart
我会看到“restarting xyz [OK]”的输出。相反,我只是希望命令静默执行并丢弃其输出,而不是显示在我的控制台应用程序中。
【问题讨论】:
-
这是非常模糊的。你需要说你在这里做什么。这可能与 C++ 没有任何关系。您只需要阅读您使用的调用的手册页。您可能希望避免在用户输入上使用
system,因为它会使用 shell 来解释它。也许只需要提醒您在fork和exec之间重新打开stdout 和stderr? -
我没有用户输入,我使用 C++ 程序重新启动 2 个特定服务。