Описание тега device-administrator
Скрипт может потерять свой стандарт и других файловых дескрипторов, если другой конец уходит. Один из способов это может произойти, завершая СШ
клиента, который используется для запуска скрипта:
тест $ СШ имени localhost
^С
Это запускает баш
скрипт, который называется тест
по SSH и нажмите CTRLC и используется для завершения СШ
команду. Это не завершить тест
, который по-прежнему работает, но он работает прикрепленного файла описателей (например, стандартный ввод/вывод/ошибка).
Если тест
пытается использовать эти закрытые дескрипторы файлов, то он будет завершаться сигнал sigpipe,
. Простой Эхо
хватит.
Одна из вещей, проверить
, возможно, это вход
функции, которая использует Эхо
для написания сообщений на systemd в журнал, а также стандартную ошибку. Что-то вроде этого:
журнал() {
Эхо "$*" | systemd в кошки-Т испытателей
Эхо >&2 "$*"
}
Второе эхо
поднимает сигнал sigpipe,
после СШ
сессии убит (Ctrl ис). Это может быть защищенный против, так что выполнение продолжается без нарушителя Эхо
, поставив эхо
в подоболочек:
( Эхо >&2 "$*" )
Но есть лучший способ?