如何在后台运行无限循环,同时继续执行脚本?
示例“脚本”:
while true; do something_in_the_background; done
do_something_while_the_loop_goes_on_in_the_background
for 1 2 3; do somethingelse; done
exit 0
Run Code Online (Sandbox Code Playgroud)
这(注意&
)似乎在短时间内使整个系统崩溃:
while true; do
something_in_the_background &
done
do_something_while_the_loop_goes_on_in_the_background
for 1 2 3; do somethingelse; done
exit 0
Run Code Online (Sandbox Code Playgroud)
Eri*_*ouf 40
在&
循环内部,它将在后台启动一个新进程,并尽可能快地再次执行,而无需等待第一个进程结束。相反,我认为你想把循环放到后台,所以把&
循环本身像
while /bin/true; do
something_in_the_background
done &
# more stuff
Run Code Online (Sandbox Code Playgroud)
Joh*_*ohn 13
while : ; do something ; done &
Run Code Online (Sandbox Code Playgroud)
早期的 Bourne shell 没有true
和false
作为内置命令。true
取而代之的是简单地别名为:
, 和false
类似的东西let 0
。
&
在该行的末尾将过程作为背景
:
是空命令,如“help :”所述: No effect; the command does nothing. Exit Status: Always succeeds.
归档时间: |
|
查看次数: |
52950 次 |
最近记录: |