gpt4 book ai didi

linux - 如何终止 shell 脚本中的 fork 进程?

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:16 25 4
gpt4 key购买 nike

我正在尝试同时运行多个命令。我通过将每个命令附加到一个看起来像

的命令来在脚本中准备它
and=" & "
command=$command1$and$command2
eval $command

但是,当我运行它时,每个命令都被 fork 并正确完成,但它随后卡在命令行上并且永远不会返回到提示符。

示例(脚本 run.sh)。如果这两个命令是:

command1="echo 'Hello'"
command2="echo 'World'"

那么输出是:

person: ./run.sh
Hello
World
## It Hangs here

代替

person: ./run.sh
Hello
World
person:

那么我该如何终止 fork 进程,或者让脚本阻塞直到 fork 进程完成?

最佳答案

假设您的示例已简化(因为“echo”应该立即完成并返回到提示符),您只需要将第二个命令设置为后台。 IOW,尝试:

command="$command1 & $command2 &"

请注意,我已经删除了您的“and”变量,因为它只是一种混淆。单个 & 绝不是 and 操作。

关于linux - 如何终止 shell 脚本中的 fork 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com