我想使用 execl 或 system(或其他命令)从“/sbin/”执行 Linux shell 命令,并隐藏其输出。
我已经在使用“fork”来获取子进程...
就像我进入...
service "servicename" restart
我会看到输出显示“restarting xyz [OK]”。相反,我只是希望命令静默执行并丢弃其输出,而不是显示在我的控制台应用程序中。
您可以将其附加到您的命令中:“ > /dev/null 2>&1”
所以你的命令变成: service [servicename] restart > /dev/null 2>&1
它的作用是将 stderr 重定向到 stdout (2>&1),并将 stdout 重定向到 /dev/null (> /dev/null)
将输出重定向到/dev/null
例如。,
service smb restart 1> /dev/null
service smb restart 2> /dev/null
其中1
和2
代表stdout
和stderr