Answers:
你用:
yourcommand > /dev/null 2>&1
如果应在后台运行,请添加 &
yourcommand > /dev/null 2>&1 &
>/dev/null 2>&1表示重定向stdout到/dev/nullAND 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将无法重定向该进程的输出。如果我错了,请纠正我,但是我不知道实现了这种功能的外壳。