Отключить не потребуется -h

Я запускаю команду, которую я теперь понимаю, я бы хотел уйти от работы после закрытия сеанса SSH. Я не начал его с аргументом & , но я положил его в фоновом режиме ( CTRLz , bg ). Теперь я пытаюсь заставить его продолжать работу после того, как я отключусь. Это то, за что disown -h , верно? Я пробовал disown -h и disown -h 1 ( jobs показывают мою работу как # 1), и я получаю

 disown: job not found: -h 

Почему disown принятия «-h» как задания, а не аргумента? Я в zsh , если это имеет значение.

2 Solutions collect form web for “Отключить не потребуется -h”

bash , zsh и ksh93 – это оболочки, которые имеют команду ksh93 . Из трех, bash – единственный, который поддерживает опцию h . Без -h он вызывает поведение zsh (удаляет из таблицы заданий), тогда как с -h он эмулирует поведение ksh93 (не будет отправлять SIGHUP при выходе, но не удаляет его из таблицы заданий, так что вы все равно можете bg или fg или убить его).

Вы можете подражать этому поведению с помощью zsh:

 typeset -A nohup trap 'disown %${(k)^nohup}' EXIT trap 'for i (${(k)nohup}) (($+jobstate[i])) || unset "nohup[$i]"' CHLD 

Таким образом, ассоциативный массив nohup содержит список заданий, которые не должны отправляться SIGHUP при выходе. Итак, вместо disown -h %1 вы должны написать nohup[1]= .

См. Также setopt nohup чтобы не отправлять SIGHUP в любое задание после выхода.

отключение самостоятельно достаточно, чтобы программа продолжала работать после отключения:

 $ command_running_forever ^Z zsh: suspended command_running_forever $ bg [1] + continued command_running_forever $ jobs [1] + running command_running_forever $ disown %1 $ logout 

disown -h использует аргумент bash, который заставляет задание оставаться в таблице заданий и не получает SIGHUP, когда bash получает SIGHUP (согласно help disown bash). Этот аргумент недоступен с zsh.

  • Сделать zsh завершение показать первое предположение на той же линии (например, рыбы)
  • Удалять удаленные файлы, соответствующие локальным файлам, или удалять файлы по мере их загрузки
  • Получение «zsh: command not found: time» при запуске `time` в подселле
  • Скопировать файлы в новый каталог, только если имя файла находится в массиве
  • Как я могу связать poweroff с git push?
  • Режим zsh vi: просмотр последних команд, начиная с
  • Показывать материал под подсказкой в ​​командной строке?
  • Имена списков псевдонимов, функций и переменных в zsh
  • Перезагрузка zsh при изменении размера окна терминатора
  • дождитесь выхода хрома, прежде чем продолжить сценарий оболочки
  • Как создать функцию в zsh, которая вызывает существующую команду с тем же именем?
  • Interesting Posts

    xkill Используется на рабочем столе

    Инициирование и блокировка устройств

    Как извлечь хэш-значение устройства LUKS?

    Извлечь определенный файл из сложной структуры военного архива

    Настройка статических маршрутов по умолчанию с помощью RIPv2

    Печать нескольких строк после n-го появления в bash

    Если символ EOF обрабатывается при отправке через telnet-соединение

    Создание объекта gdbus (сим-карта)

    При использовании popd, как нажимать текущий каталог на стек?

    Невозможно FTP в экземпляр Google Compute Engine с помощью Debian

    Gnome update-notifier не показывает обновления, если пользователь не в группе sudo (Debian Squeeze)

    Установка новой операционной системы, такой как FreeBSD с загрузкой PXE?

    заменить все точки в именах файлов с помощью подчеркивания

    Поиск нераспределенного дискового пространства (разделение)

    Как заставить get-iplayer получать контролируемое качество без огромного размера?

    Linux и Unix - лучшая ОС в мире.