日期:2014-05-16  浏览次数:20745 次

linux系统后台运行语法

linux系统后台运行时为了确保使用了打印命令的脚本可以执行下去,应该使用如下所示的命令语法:

?

???? 命令? >/dev/null 2>&1 &

?

其中/dev/null是一个虚拟的空设备,表示丢掉打印的输出,当然,如果需要将打印的信息输出到其他位置(比如某文件),可以代替/dev/null,2>&1表示将标准错误信息输出到标准输出(一般是屏幕)。

?

如果上面执行的时候没有指定>/dev/null并且也没有指定其他的输出设备,那么脚本将会在执行打印的位置锁死等待输出设备,无法继续执行。

?

在linux系统中, 有3个默认的I/O:

0:标准输入,一般是键盘

1:标准输出,一般是屏幕

2:标准错误,如果不指定输出位置并且又是后台运行,可能会导致脚本卡死,原因同上。