Отвергнутые рабочие места все равно прекращаются при выходе

Отвергнутые рабочие места все равно прекращаются при выходе

Я подключаюсь к удаленному серверу и запускаю что-то вроде этого:

cat /dev/zero > /dev/null & disown %-

Затем я делаю logout, и переподключаюсь, и psне вижу catзапущенного процесса. Почему?

решение1

Эта команда работает на моем конце. Кажется, она потребляет много ресурсов. Может быть, вы хотите попробовать:

sleep 999 & disown %-

и вместо этого выполните ps aux | grep sleepпосле повторного входа в систему.

Однако, если вы знаете, что хотите отказаться от процесса до его запуска, вы можете просто использовать nohup:

nohup sleep 999

решение2

Используйте %%или для %+«текущей» (последней фоновой) работы.%-предыдущийjob, которая является второй по времени остановкой или фоновой работой. Они означают то же самое, если есть только одна работа. Но если вы оставили некоторые фоновые работы запущенными в более ранней части сеанса оболочки или скрипта, то способ, который вы используете, %-вероятно, не нацелен на работу, которую вы считаете.

Связанный контент