Существует ли проблема, если я добавляю несуществующий путь для 'СОЕДИНЕНИЯ переменной среды каналом'?

Команда reboot -f никогда возвраты (если у Вас не было разрешения вызвать перезагрузку). В точке, где это выпущено, клиент SSH ожидает чего-то, чтобы сделать, который мог быть:

  • сервер SSH, уведомляющий клиент, что что-то произошло, который требует его внимания, например, что существует некоторый вывод для отображения, или что удаленная команда закончилась;
  • некоторое событие на стороне клиента, такой как сигнал передать;
  • таймер, разжигающий, чтобы заставить клиент отправлять сообщение проверки активности (и закрывать соединение, если сервер не отвечает).

Так как серверный процесс SSH мертв, клиент SSH не умрет, пока таймер не разожжет.

Если Вы работаете ssh remotehost 'reboot -f >/dev/null &', затем то, что происходит:

  1. Удаленная оболочка запускается reboot команда в фоновом режиме.
  2. Поскольку команда оболочки серверной стороны вышла и нет никакого процесса, содержащего дескриптор файла для открытого стандартного вывода, сервер SSH закрывает соединение.
  3. reboot управляйте вызывает машину к перезагрузке.

Однако это не надежно: в зависимости от синхронизации шаг 3 мог бы произойти перед шагом 2. Добавление таймера делает это вряд ли:

ssh remotehost '{ sleep 1; reboot -f; } >/dev/null &'

Быть абсолютно уверенным, что сторона сервера стремится работать reboot, при проверке, что это на самом деле не перезагружает прежде, чем уведомить клиент, что это фиксируется, Вам нужно дополнительное уведомление для движения от сервера до клиента. Это может быть произведено посредством соединения SSH, но оно сложно.

4
18.10.2013, 11:42
2 ответа

Легко испытать это. bash не будет жаловаться, добавляете ли Вы несуществующий каталог в ПУТИ (но очевидно он не найдет команды или сценарии там ни одним).

Если Вы позже создаете каталог и храните исполняемые файлы там, bash найдет их.

6
27.01.2020, 20:49

Думайте об этом иначе, единственная причина проверить, что любой после пути в ПУТИ - то, потому что была ошибка при нахождении файла в предыдущем. Таким образом, ошибки не вызовут проблемы, на самом деле они ожидаются.

3
27.01.2020, 20:49

Теги

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