例如,当我键入时ping 8.8.8.8 &
,为什么我们能看到ping程序正常工作?当我键入时find / -name '*test*' &
,它也在监视器上显示。
这是为什么?真的不是背景吗?
该&
引导外壳在后台运行的命令,即,它被分叉并在一个单独的子壳运行,作为作业,异步。
请注意,将&
输出(stdout和stderr)都仍将打印在屏幕上。如果你不想在屏幕上看到的任何输出,都重定向stdout
并stderr
以文件方式:
myscript > ~/myscript.log 2>&1 &
通常stderr
,/dev/null
如果您不担心稍后分析错误,则可能需要通过将其重定向到来丢弃它。
您甚至还可以在单独的子Shell中同时运行命令/脚本。例如
./script1 & ./script2 & ./script3 &
后台作业可以在完成命令之前返回到命令行:
fg <job-number>
所述job-number
可以通过运行而获得
jobs
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句