У меня была проблема, из-за которой свойство bottomLayoutGuide
устанавливало бы себя на нулевую длину, а затем заставляло мои кнопки над панелью вкладок падать ниже на панель вкладок с автоматическим размещением.
Вы смотрели на это
[self.navigationController.view setNeedsLayout]
Я положил его в свой viewwillappear
и перестал получать нулевую длину в свойстве bottomLayoutGuide
. Может быть, это поможет вам и с вашей собственностью topLayoutGuide
.
Ответ Джо направил меня на верный путь. Я также обнаружил, что должен улавливать больше сигналов, чтобы прикрыть свои базы.
Окончательный сценарий выглядит так:
#!/bin/sh
sleep 600 &
PID1="$!"
sleep 600 &
PID2="$!"
trap "kill $PID1 $PID2" exit INT TERM
wait
Я подозреваю, что ваш / bin / sh не является Bash (хотя вы отметили вопрос как «Bash»).
Судя по сообщению, я предполагаю, что это DASH. Посмотрите его руководство или просто исправьте свой шебанг, если вам нужно написать код на Bash.
Этот сценарий выглядит правильно и работает у меня, как и ожидалось.
Как вы отправляете сигнал SIGTERM «главному процессу»?
Возможно, вам следует выполнить kill -l
, чтобы проверить, какие сигналы поддерживаются.
Поскольку сообщение об ошибке предполагает, что вы отправляете сигнал «10», который, похоже, ваша система не распознает.
И в следующий раз вы должны добавить операционную систему, версию оболочки, ядро, ... для такого вопроса
Это работает для меня:
trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT