sleep 命令在后台运行时会做什么?

sleep 命令在后台运行时会做什么?

当我运行此命令时 -sleep 10终端等待 10 秒。sleep对终端的操作也是如此。当我这样做时会发生什么sleep 10 &?在第一种情况下,它在终端上运行,但在后台它在做什么?特别是是什么东西sleep试图让你入睡?

答案1

虽然sleep将在后台运行,但它不会执行其预期目的,即延迟脚本中的另一个任务。

例子:

echo "foo" && sleep 10s && echo "bar"

将打印 foo,等待 10 秒,然后打印 bar。第二个echo将等到 sleep 退出,并且仅在运行成功时才开始执行。

echo "foo" && sleep 10s & echo "bar"

将打印 foo, invoke sleep,它将发送到后台并立即执行第二个echo,因为前台没有进程需要等待。

相关内容