shell 之输入输出重定向和nohup

示例如下:

nohup $(which cloud-agent) > /dev/nul 2>>/var/log/cloud/cloud-xwj.log &

1.nohup  comand  &,代表执行一个后台进程,不会显示在控制台

2. ">dev/null",>的左侧没有文件描述符,则默认代表文件描述符为1,1代表标准输出,标准输出均输出到/dev/null中 ;(/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”)

3."2>>/var/log/cloud/cloud-xwj",2代表标准输出,及错误输出均输出到cloud-xwj.log文件中

总结:

类型 文件描述符 默认情况 对应文件句柄位置
标准输入(standard input) 0 从键盘获得输入 /proc/slef/fd/0
标准输出(standard output) 1 输出到屏幕(即控制台) /proc/slef/fd/1
错误输出(error output) 2 输出到屏幕(即控制台) /proc/slef/fd/2

>/dev/null 2>&1,将标准输出和错误输出到输入至/dev/null;

猜你喜欢

转载自my.oschina.net/u/3754919/blog/1612587