gpt4 book ai didi

bash - 如何在脚本中运行 "independent"命令

转载 作者:行者123 更新时间:2023-11-29 09:49:15 27 4
gpt4 key购买 nike

我有一系列计算一些统计数据的“命令”(实际上是调用 bash shell 函数)。一般来说,每个命令都与所有其他命令无关,有时有些命令可能会花费比预期更多的时间。

到目前为止,我有一个调用这些命令的 bash 脚本,一个接一个。如果某个命令花费太多时间,而我 ctrl+C 它,整个脚本就会死掉(如预期的那样)。我发现如果我在括号内调用它们(它 fork 了 shell),比如 ( command1 ) ; ( command2 ) 我在 command1 运行时按 ctrl+C,然后 command2 将在之后正常运行。

当我直接在终端中尝试时,以上内容适用。但如果我在脚本中这样做,它就不起作用。我猜 ctrl+C 会转到整个脚本,然后终止它。

有什么办法可以实现我想要的吗? bash shell 的使用并没有那么严格,所以我很喜欢 python 中的解决方案,尽管首选 bash 中的解决方案。

编辑:我希望能够以某种方式“取消”一些命令,然后其余的命令(一次一个)执行,没有问题。不要并行运行命令。

最佳答案

如果您只是捕获 SIGINT,您想要的应该会起作用。例如:

#!/bin/shtrap : 2cmd1cmd2cmd3

当您点击 ^C 时,它会向 shell 脚本和当前运行的进程(cmd1、cmd2 或 cmd3)发送 SIGINT。该 cmd 将死掉,shell 脚本将启动下一个 cmd。

关于bash - 如何在脚本中运行 "independent"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236343/

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