Answers:
你用:
yourcommand > /dev/null 2>&1
如果应在后台运行,请添加 &
yourcommand > /dev/null 2>&1 &
>/dev/null 2>&1
表示重定向stdout
到/dev/null
AND stderr
到当时stdout
指向的位置
如果要stderr
在控制台上发生并且只能使用stdout
,则/dev/null
可以使用:
yourcommand 2>&1 > /dev/null
在这种情况下stderr
,重定向到stdout
(例如您的控制台),然后将原始文件stdout
重定向到/dev/null
如果程序不应该终止,则可以使用:
nohup yourcommand &
没有任何参数,所有输出都将落入nohup.out
dup2()
发生在紧接之后fork()
但之前exec*()
。一旦exec*()
执行了程序,shell将无法重定向该进程的输出。如果我错了,请纠正我,但是我不知道实现了这种功能的外壳。