Как установить прерывание в функциях удара?

Закрепите свой обратный DNS на сервере. sshd ожидает обратной проверки DNS к тайм-ауту перед продолжением.

13
25.12.2011, 13:03
3 ответа

Поэтому это отправляет SIGINT в процесс на переднем плане вместо к bash (который запускает скрипт). Если Вы хотите сделать это, сделайте функцию асинхронной и затем используйте wait (который будет действовать как ожидалось и использовать прерывание).

7
27.01.2020, 19:54
  • 1
    Это вид работ. Но я нашел это если f находится в канале echo 123 | f, затем это не захватывает? Использование –  Cheng 25.12.2011, 16:48
  • 2
    @Cheng подоболочка (и канал в этом случае является ненужным так или иначе, просто используйте heredoc/herestring). (command | command) & –  Chris Down 25.12.2011, 19:11

Проподсказка: Отправьте приоритетному процессу ВЫХОД с Ctrl-\, когда Ctrl-C,-Z,-D не будут работать.

Ясные прерывания в конце выполнения с trap - list of signals here

Забава в непроизводственной системе: Попытайтесь поставить капкан на все разумные сигналы (например, не УНИЧТОЖЬТЕ). kill -l (не это - нижний регистр L не номер 1 или канал |),

1
27.01.2020, 19:54

Я думаю, что необходимо сделать функцию глобальной

#!/bin/bash
trap ctrl_c INT
ctrl_c () {
  echo "** Trapped CTRL-C"
} 
for i in `seq 1 100`; do
  sleep 1
  echo -n "."
done
0
27.01.2020, 19:54
  • 1
    INT и SIGINT синонимичны - это не будет иметь никакого значения. –  Chris Down 25.12.2011, 14:11

Теги

Похожие вопросы