
Я подключаюсь к удаленному серверу и запускаю что-то вроде этого:
cat /dev/zero > /dev/null & disown %-
Затем я делаю logout
, и переподключаюсь, и ps
не вижу cat
запущенного процесса. Почему?
решение1
Эта команда работает на моем конце. Кажется, она потребляет много ресурсов. Может быть, вы хотите попробовать:
sleep 999 & disown %-
и вместо этого выполните ps aux | grep sleep
после повторного входа в систему.
Однако, если вы знаете, что хотите отказаться от процесса до его запуска, вы можете просто использовать nohup:
nohup sleep 999
решение2
Используйте %%
или для %+
«текущей» (последней фоновой) работы.%-
предыдущийjob, которая является второй по времени остановкой или фоновой работой. Они означают то же самое, если есть только одна работа. Но если вы оставили некоторые фоновые работы запущенными в более ранней части сеанса оболочки или скрипта, то способ, который вы используете, %-
вероятно, не нацелен на работу, которую вы считаете.