Как я могу использовать nohup, если сценарий оболочки занимает больше времени для запуска?

Мои shellscripts занимают очень много времени, около 30 минут, но если я уйду и выйду на обед, я сомневаюсь, что:

1: будет ли сеанс замазки закрываться, если скрипт запущен?

2: если сеанс замазки закрывается, скрипт выйдет из системы.

Если я использую nohup scriptname , это будет хорошо?

  • Какая версия моей дебианской системы?
  • Исправить окна 8 efi MBR - нет успеха
  • Как установить g ++ 4.9.2 в Cent OS 6.5?
  • Как проверить память в Linux?
  • Удаляя все: # rm -rf /
  • Что вызывает двойные слэши в Linux?
  • Резервное копирование каталога программирования
  • Как измерить среднее время выполнения скрипта?
  • One Solution collect form web for “Как я могу использовать nohup, если сценарий оболочки занимает больше времени для запуска?”

    PuTTY (или любой другой клиент SSH) не волнует, смотрите ли вы на экран или выходите на обед. Он не закрывает сессию сам по себе.

    Сессия будет закрыта только в том случае, если:

    1. Вы закрываете его вручную (например, введите logout , Ctrl + D , exit и т. Д.)
    2. В вашей оболочке установлен автоматический выход или триггер бездействия.
    3. Сетевое соединение умирает.

    Последнее не должно происходить случайно, хотя плохое оборудование может «помочь» закрыть связи, когда они думают, что они простаивают. Обычно это происходит с оборудованием SOHO, которое имеет очень мало памяти и агрессивно близкое соединение, когда они предполагают, что они больше не используются.


    До сих пор для ПУТИ и сеансов. Что касается nohup , давайте немного погрузимся.

    Раньше люди использовали телефонные линии и модемы для набора номера. Иногда это соединение действительно умирало. В этом случае оболочка получает сигнал о том, что линия обнаружила зависание. (Сигнал 1, HUP).

    Когда это произойдет, оболочка будет сигнализировать запущенные программы с SIGHUP, что в основном означает «отключение телефонной линии. Пожалуйста, остановитесь аккуратно. (Закрывайте файлы, сохраняйте при необходимости и т. Д.).

    Когда вы выходите из системы или когда puTTY (ssh) умирает, происходит то же самое.

    Если вы запускаете программу без nohup тогда происходят две вещи:

    1. SIGHUP игнорируется. Таким образом, программа не закрывается.
    2. Стандартный вывод записывается в файл (по умолчанию: nohup.out ), а не в TTY.

    Если я использую nohup scriptname , это будет хорошо?

    Если вы используете nohup scriptname и скрипту не нужен какой-либо ввод, тогда да, это будет хорошо. Если вы хотите видеть вывод скрипта во время его запуска, вы можете закрепить файл журнала.

    nohup scriptname &
    tail -f nohup.out

    Помимо nohup есть как минимум два других интересных варианта:

    • Экран ,
    • tmux

    Оба позволяют вам не только выжить в отключенной линии, но и снова подключить терминал позднее.

    Пример:

    Сидя за компьютером-1, вошел в сервер-1

    screen Начало экрана
    make bzimage Независимо от задачи / скрипта, который вы хотите
    Ctrl + A , Ctrl + D             Отделить; screen похоже, закончился
    Выход logout системы

    На этом этапе screen все еще работает и предоставляет оболочку для вашего скрипта.

    Предположим, вы идете домой, садитесь за свой рабочий стол и ssh на сервер-1,

    ssh server-1.work.tld
    имя пользователя
    пароль
    screen -r (Продолжить ранее добавленный экран)
    Продолжайте, когда вы остановились на работе.

    Interesting Posts
    Давайте будем гением компьютера.