Почему команда nohup, кажется, не работает?

Может быть что-то Как:

awk '!NF || /%/ {printf "%s", (NR > 1 ? "\n" : "") $0; sep = "\n"; next}
     {printf "%s", sep $0; sep = " "}
     END {if (NR) print ""}' < file.in > file.out
-4
19.11.2014, 13:50
4 ответа

Выполните эту команду в терминале,

/bin/sleep 1000 &

В другом терминале проверьте, запущен ли процесс:

pgrep -fa sleep. (процесс показан)

Закройте первый терминал или выйдите из системы. Проверьте еще раз:

pgrep -fa sleep
(ничего не показано)


Повторите шаги, добавив nohup к первой команде:

nohup /bin/sleep 1000 &

Вы увидите, что вторая проверка показывает, что процесс все еще запущен.

2
28.01.2020, 05:20

Вот один пример. Введите это:

nohup find -size +100k > log.txt

и log.txt

и logout. Затем снова войдите в систему и проверьте файл log.txt.

Больше информации: Команда nohup для Linux и Unix

-1
28.01.2020, 05:20

Я нашел решение для удаленного входа в систему:

Если терминал, с которого был запущен процесс с nohup, и если терминал был убит, то процесс также продолжит работу. Однако, если вы просто выйдете из системы с помощью exit или Ctrl + D , то этого не произойдет, но выход из системы также будет работать, если вы вышли из системы. графический вход.

-4
28.01.2020, 05:20

nohup не "убивает" (предотвращает зависание сигнала, так же известного как SIGHUP и сигнал человека 7) процесс, который пытается записать на терминал, когда терминала нет.

Когда процесс не пишет на терминал, ему не нужен nohup - он будет жить до тех пор, пока не завершится или не будет закончен. Однако многие процессы пытаются писать на терминал во время выполнения, и если терминала нет (например, из-за выхода из системы), они бросают сигнал "зависание" и погибают. nohup предотвращает это, но вы можете предотвратить это вручную, перенаправив все выходные данные в файл и в фоновом режиме ( команда &> file &).
Просто автоматизируйте этот процесс за вас.

nohup также предотвращает убийство, когда по той же причине отсутствует ввод с терминала, но это использование гораздо реже (nohup перенаправляет /dev/null на ввод, вместо терминального/стандартного ввода)

.
-1
28.01.2020, 05:20

Теги

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