Как я могу открыть файл, если он отказывает, в то время как я отсутствую?

Привет я искал, как перезапустить файл, если он отказывает/закрывает автоматически, но у меня нет опыта в сценариях и Linux в целом. Я только что запустил игровой сервер, и иногда он закрывается, потому что он имеет некоторые ошибки в игре, и люди сообщают о них мне, поэтому в то время как я фиксирую те ошибки, я хотел бы знать, как перезапустить его, не будучи физически в моем компьютере.

Если я не ошибаюсь, что это может быть сделано с .bat файлом. Или это только работает в окнах?

1
задан 2 February 2017 в 21:36

1 ответ

Если вы хотите, чтобы команда YOUR_COMMAND всегда перезапускалась при выходе, просто поместите ее в цикл, например

while true; do YOUR_COMMAND ; sleep 5 ; done

. Обратите внимание, что я добавил 5-секундную задержку между концом команды и ее запустить снова. Вы можете прервать цикл, нажав Ctrl + C в терминале, где он выполняется.


Если вы хотите, чтобы цикл перезапускал вашу КОМАНДУ только в том случае, если он завершился с кодом выхода, отличным от 0 (который должен указывать на ошибку / неуспешный запуск), как предложено @KonradRudolph, вы можете сделать это следующим образом :

while ! YOUR_COMMAND ; do sleep 5 ; done

Обратите внимание, что YOUR_COMMAND должен выйти со статусом 0, чтобы завершить цикл, или со статусом! = 0, чтобы перезапуститься при использовании этой структуры.

1
ответ дан 7 December 2019 в 15:41

Другие вопросы по тегам:

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