When you call system()
from C, a shell is invoked to interpret your command. This means you can use shell redirects:
system("ls > /dev/null");
and if you want errors to also be suppressed
system("ls > /dev/null 2>&1");
However, due to the overhead of running a shell and the fragility of constructing shell commands, it's better to avoid system()
when you can.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…