gpt4 book ai didi

linux - Bash:异步处理信号(无后台任务)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:00 24 4
gpt4 key购买 nike

是否可以在 Bash 中异步处理信号?

我知道 trap 命令。它的工作方式是在处理信号之前等待当前命令完成。在信号到达时处理信号的唯一方法是在后台运行当前命令。

假设我们不能在后台运行我们的命令(例如,因为我们希望能够通过标准输入进行键盘输入),有没有办法在将信号传递给脚本时处理信号?

最佳答案

如果脚本不在前台,就不可能同步处理信号。 bash manpage在这方面很清楚:

If bash is waiting for a command to complete and receives a signal for which a trap has been set, the trap will not be executed until the command completes.

根据您的实际情况,可以通过将信号传送到后台子进程或将脚本保留在前台并将输入路由到您的命令来解决这个问题。两者都非常做作。

关于linux - Bash:异步处理信号(无后台任务),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511790/

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