Linux 如果使用nohup运行,脚本命令不等待子级

Linux 如果使用nohup运行,脚本命令不等待子级,linux,bash,shell,Linux,Bash,Shell,如果我们运行一个命令,比如 time script -c 'sleep 5' 0.00user 0.00system 0:05.00elapsed 这需要5秒以上的时间才能按预期完成 time nohup sleep 5 0.00user 0.00system 0:05.00elapsed 这也需要5秒以上的时间才能按预期完成 time nohup script -c 'sleep 5' 0.00user 0.00system 0:00.00elapsed 但是,这需要

如果我们运行一个命令,比如

time script -c 'sleep 5'

0.00user 0.00system 0:05.00elapsed
这需要5秒以上的时间才能按预期完成

time nohup sleep 5

0.00user 0.00system 0:05.00elapsed
这也需要5秒以上的时间才能按预期完成

time nohup script -c 'sleep 5'

0.00user 0.00system 0:00.00elapsed
但是,这需要<1秒的时间才能完成。看起来诺胡普和剧本的配合不太好。脚本命令在创建子项后立即返回,而不是等待子项完成

我无法找到任何解释,解释为什么会发生这种情况,以及如何让它发挥作用


提前感谢

nohup使命令在后台运行,这就是为什么在按enter键时命令(第三个)返回的原因。
有关更多详细信息,请参见此

如果可以检查nohup.out的内容,从执行nohup命令的位置可以看到
脚本的输出(如果有)(适用于第三种情况)。