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

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

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

2 ответа2

1

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

0

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

sleep 999 & disown %-

и сделать ps aux | grep sleep после перелог

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

nohup sleep 999

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .