Скрипт Bash: не может правильно обрабатывать SIGTSTP

У меня есть скрипт 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 процессу. Есть идеи, почему это происходит и как я могу это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос