0

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

我已经在使用“fork”来获取子进程...

就像我进入...

service "servicename" restart

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

4

2 回答 2

2

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

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

它的作用是将 stderr 重定向到 stdout (2>&1),并将 stdout 重定向到 /dev/null (> /dev/null)

于 2012-11-19T13:50:30.147 回答
1

将输出重定向到/dev/null

例如。,

service smb restart 1> /dev/null

service smb restart 2> /dev/null

其中12代表stdoutstderr

于 2012-11-19T13:51:42.997 回答