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

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

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

  • Как измерить среднее время выполнения скрипта?
  • Список подкаталогов на одном уровне вниз, которые не содержат определенного файла
  • Удаляя все: # rm -rf /
  • Ls с каталогом путь показывает файлы, но ls с шаблоном файла нет?
  • Почему меньше, когда у вас может быть больше? (Пейджеры на * Nix)
  • Исправить окна 8 efi MBR - нет успеха
  • 2: если сеанс замазки закрывается, скрипт выйдет из системы.

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

  • Ls с каталогом путь показывает файлы, но ls с шаблоном файла нет?
  • Как объединить несколько файлов в один?
  • Что такое .Trash и .Trash-1000?
  • Как я могу настроить таргетинг иерархии каталогов с помощью программных ссылок в Linux?
  • Как удалить все, кроме 10 самых новых файлов в Linux?
  • Исправить окна 8 efi MBR - нет успеха
  • 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 (Продолжить ранее добавленный экран)
    Продолжайте, когда вы остановились на работе.

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