Debug客栈
做一个爱分享的程序猿
Debug客栈
Linux >/dev/null 2>&1 命令使用说明

友情提示:此篇文章大约需要阅读 1分钟52秒,不足之处请多指教,感谢你的阅读。订阅本站

近期在开发项目中遇到了PHP使用shell_exec执行Shell命令的问题,具体说是Shell使用FFmpeg软件进行录制直播流,但是PHP等待命令执行时间是有限的,并且会出现等待时间过长导致该执行接口出现未响应问题,寻找了网上方法,发现了一种比较好的方式,就是将要执行的Shell语句后面加上>/dev/null 2>&1 这段特殊的命令,简单来说就是将执行的Shell操作放到后台进行运行,将快捷反应执行的操作,解决执行Shell语句等待问题,接下来就是对这段命令的解析:

命令的结果可以通过%>的形式来定义输出。

  • /dev/null 代表空设备文件
  • > 代表重定向到哪里,例如:echo "123" > /home/123.txt
  • 1 表示stdout标准输出,系统默认值是1,所以”>/dev/null“等同于”1>/dev/null“;
  • 2 表示stderr标准错误;
  • & 表示等同于的意思,2>&1,表示2的输出重定向等同于1。

针对下面数字的代表含义的解释:

  • 0:表示键盘输入(stdin)
  • 1:表示标准输出(stdout),系统默认是1
  • 2:表示错误输出(stderr)

> /dev/null 2>&1 语句含义:

> /dev/null : 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1 :接着,标准错误输出重定向(等同于)标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

参考链接:/dev/null 2>&1的含义

赞赏
本文链接:https://www.debuginn.cn/4901.html   来自:Debug客栈
本文采用: CC BY-NC-SA 3.0 Unported 协议进行许可,转载请保留此文章链接
相关链接: 首页  |  引导页  |  赞助本站  |  @QQ  |  @Mail  |  @微博  |  @云+社区  |  @推特  |  @Github
社会主义核心价值观: 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善

发表评论

textsms
account_circle
email

Debug客栈

Linux >/dev/null 2>&1 命令使用说明
近期在开发项目中遇到了PHP使用shell_exec执行Shell命令的问题,具体说是Shell使用FFmpeg软件进行录制直播流,但是PHP等待命令执行时间是有限的,并且会出现等待时间过长导致该执行接口出…
扫描二维码继续阅读
2020-01-13