在隐藏其输出的同时在c ++中执行Linux shell命令

时间:2012-11-19 13:41:40

标签: c++ linux shell output

我想用execl或system(或其他命令)从“/ sbin /”执行Linux shell命令,并隐藏其输出。

我正在使用“fork”来获得子进程...

就像我进入......

service "servicename" restart

我会看到“重启xyz [OK]”的输出。相反,我只是想要以静默方式执行命令并丢弃其输出而不是在我的控制台应用程序中显示。

2 个答案:

答案 0 :(得分:2)

您可以将此附加到您的命令: “> / dev / null 2>& 1”

所以你的命令变为: service [servicename] restart> / dev / null 2>& 1

这样做是将stderr重定向到stdout(2>& 1),并将stdout重定向到/ dev / null(> / dev / null)

答案 1 :(得分:1)

将输出重定向到/dev/null

例如,

service smb restart 1> /dev/null

service smb restart 2> /dev/null

其中12代表stdoutstderr