Назад | Перейти на главную страницу

Могу ли я не запускать / возобновлять существующий процесс tar в сеансе ssh?

Во-первых, если я остановлю процесс tar, будет ли он возобновлен с того места, где он остановился, или ему придется снова пройти через все каталоги (много каталогов и файлов).

Во-вторых, правильно ли я «отрекаюсь» от этого процесса?

  1. Я подключился к своему серверу linux (ubuntu).

  2. Я начал процесс с tar -cf /mnt/backup.tar / var / www.

  3. Спустя несколько часов процесс все еще продолжается, и мне нужно выключить настольный компьютер.

  4. Я нажал Ctrl + Z, чтобы приостановить процесс,

  5. затем запустил "bg", чтобы возобновить его в фоновом режиме.

  6. затем запустил 'disown -h tar'

  7. затем запустил "ps faux"

    root      8760  0.0  0.1   8964  3036 ?        Ss   Aug21   0:21  \_ sshd: root@pts/0 
    root      8762  0.0  0.1   4408  1880 pts/0    Ss+  Aug21   0:00  |   \_ -bash
    root     23184  0.2  0.0   3708  1072 pts/0    D    Aug24   3:30  |       \_ tar -cf /mnt/backup.tar www/
    
  8. Я вижу команду tar, и в столбце «STAT» отображается D. Означает ли это отключение?

  9. Я не совсем понимал, что это за «работа», я предположил «деготь».

Пожалуйста, дайте мне знать, правильно ли я делаю и безопасно ли выйти из системы и закрыть сеанс ssh. Не хотелось бы перезапускать этот процесс.

Также обратите внимание, что на этот вопрос здесь дан ответ: Могу ли я отключить / просмотреть уже начатый процесс?

Тем не менее, я расширяю вопрос, так как был немного сбит с толку относительно использования disown и того, что такое «работа» на самом деле.

Когда вы выходите из интерактивной оболочки входа в bash, она отправляет сигнал SIGHUP всем дочерним элементам, если только параметр оболочки huponexit установлен на выкл.

Когда большинство пользовательских процессов получают сигнал SIGHUP, они завершаются.

Когда ты disown -h, вы отмечаете процесс, чтобы bash не отправлял сигнал SIGHUP при выходе независимо от параметров оболочки. Вы также могли добавить к команде префикс nohup чтобы воспроизвести то же поведение.

Что касается STAT D:

Непрерывное состояние сна - это состояние сна, которое не может обрабатывать сигнал (например, ожидание диска или сетевого ввода-вывода (ввод / вывод)).