Закрепите свой обратный DNS на сервере. sshd ожидает обратной проверки DNS к тайм-ауту перед продолжением.
Поэтому это отправляет SIGINT в процесс на переднем плане вместо к bash
(который запускает скрипт). Если Вы хотите сделать это, сделайте функцию асинхронной и затем используйте wait
(который будет действовать как ожидалось и использовать прерывание).
Проподсказка: Отправьте приоритетному процессу ВЫХОД с Ctrl-\, когда Ctrl-C,-Z,-D не будут работать.
Ясные прерывания в конце выполнения с trap - list of signals here
Забава в непроизводственной системе: Попытайтесь поставить капкан на все разумные сигналы (например, не УНИЧТОЖЬТЕ). kill -l
(не это - нижний регистр L не номер 1 или канал |),
Я думаю, что необходимо сделать функцию глобальной
#!/bin/bash
trap ctrl_c INT
ctrl_c () {
echo "** Trapped CTRL-C"
}
for i in `seq 1 100`; do
sleep 1
echo -n "."
done
f
находится в каналеecho 123 | f
, затем это не захватывает? Использование – Cheng 25.12.2011, 16:48(command | command) &
– Chris Down 25.12.2011, 19:11