日期:2014-05-16 浏览次数:20787 次
linux系统后台运行时为了确保使用了打印命令的脚本可以执行下去,应该使用如下所示的命令语法:
?
???? 命令? >/dev/null 2>&1 &
?
其中/dev/null是一个虚拟的空设备,表示丢掉打印的输出,当然,如果需要将打印的信息输出到其他位置(比如某文件),可以代替/dev/null,2>&1表示将标准错误信息输出到标准输出(一般是屏幕)。
?
如果上面执行的时候没有指定>/dev/null并且也没有指定其他的输出设备,那么脚本将会在执行打印的位置锁死等待输出设备,无法继续执行。
?
在linux系统中, 有3个默认的I/O:
0:标准输入,一般是键盘
1:标准输出,一般是屏幕
2:标准错误,如果不指定输出位置并且又是后台运行,可能会导致脚本卡死,原因同上。