Bash脚本:无法正确处理SIGTSTP

 张。、 发布于 2023-03-19 07:01
  • php
  • 我有一个bash脚本,可以安装和卸载一个设备,在其间执行一些读取操作.由于设备非常慢,脚本需要大约15秒才能完成(安装至少需要5-6秒).由于安装此设备可能会导致其他问题,我不希望此脚本被中断.

    话虽如此,我可以正确处理SIGINT(Ctrl + c),但是当我尝试处理SIGTSTP(Ctrl + z)时,脚本会冻结.这意味着信号被捕获但处理程序不运行.

    #!/bin/sh
    cleanup()
    {
        # Don't worry about unmounting yet. Just checking if trap works.
        echo "Quitting..." > /dev/tty
        exit 0
    }
    trap 'cleanup' SIGTSTP
    ...
    

    我手动必须将KILL信号发送到进程.知道为什么会发生这种情况以及如何解决这个问题吗?

    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有