shell - 杀死由 shell 脚本创建的子进程,以便执行下一个命令
问题描述
我有一个执行某些任务的 shell 脚本
在脚本之间有一个理想地运行无限时间的命令
尾 -f
con 查看正在记录的输出。
通常 tail -f 可以通过 ctrl + z 或 Ctrl + c 退出。在这种情况下,当我这样做时,它也会退出我必须执行的 shell。
在此命令脚本之后将执行通常执行清理任务的其他命令。
有什么方法可以退出 tail 命令而不退出 shell 脚本的执行。
我找到了一些方法,比如找到 tail 进程并终止该进程,但这些对于 shell 脚本的自动化来说将是一个非常困难的阻碍。
解决方案
我们可以在 shell 命令中进行用户中断
像陷阱或 onitr
我们需要注册接收信号后必须执行的任务
要做到这一点
假设你想用 ctrl + c 打断
陷阱“你的简历脚本/命令”INT
收到您的单一表单键盘后,它将注册以运行脚本的其余部分
推荐阅读
- java - 如何从网络接口获取 IP 配置
- sqlite - 未捕获的错误:打包应用后请手动安装sqlite3包错误
- python - 我对 MLP 模型做错了什么?
- java - memcache 不在多个节点上工作
- javascript - jQuery .submit() 在新选项卡中提交表单一次但不提交第二次
- delphi - 带有 CharCase ecLowerCase 或 ecUpperCase 的异常“无法插入一行”TComboBox
- javascript - 我如何在 JS 中设置会话以进行输入?
- javascript - Google Maps JavaScript API v3 无法正常工作
- html - CSS 3 伪元素
- php - 从 Laravel 5.7 升级到 5.8 会返回错误:Class Blade.compiler 不存在.... post-autoload-dump 事件返回错误代码 1