首页 > 解决方案 > 杀死由 shell 脚本创建的子进程,以便执行下一个命令

问题描述

我有一个执行某些任务的 shell 脚本

在脚本之间有一个理想地运行无限时间的命令

尾 -f

con 查看正在记录的输出。

通常 tail -f 可以通过 ctrl + z 或 Ctrl + c 退出。在这种情况下,当我这样做时,它也会退出我必须执行的 shell。

在此命令脚本之后将执行通常执行清理任务的其他命令。

有什么方法可以退出 tail 命令而不退出 shell 脚本的执行。

我找到了一些方法,比如找到 tail 进程并终止该进程,但这些对于 shell 脚本的自动化来说将是一个非常困难的阻碍。

标签: shellsh

解决方案


我们可以在 shell 命令中进行用户中断

像陷阱或 onitr

我们需要注册接收信号后必须执行的任务

要做到这一点

假设你想用 ctrl + c 打断

陷阱“你的简历脚本/命令”INT

收到您的单一表单键盘后,它将注册以运行脚本的其余部分


推荐阅读