Назад | Перейти на главную страницу

поставить задание в бг и запустить его?

Я знаю, что есть два или более способов запустить задание и поместить его в фоновый режим.

Прямо сейчас я использовал ctrl-z, чтобы поместить передачу scp в фоновый режим, потому что я заметил, что это займет некоторое время. Как мне запустить процесс в фоновом режиме, чтобы я мог писать другие команды, пока я жду его завершения?

Примечание. Я могу создать новый терминал, однако в этом случае я подключился по SSH к двум разным серверам, поэтому неудобно делать это для каждого параллельного задания, которое я хочу выполнять в фоновом режиме.

Важно отметить, что хотя для некоторых процессов CTRL + Z означает фон, поведение по умолчанию - STOP, выполнение которого не продолжается. Самый безопасный способ - запустить команду с символом & в конце, а затем выполнить команду «disown», чтобы полностью перевести ее в фоновый режим. Однако вы не сможете снова поставить его на передний план.

Если вам нужен простой способ следить за фоновыми задачами, подумайте о том, чтобы узнать о screen. В качестве основного урока введите screen scp myfile server:/mydest, затем нажмите CTRL + A D, чтобы «отсоединить» сеанс экрана. Вы можете вызвать этот сеанс, набрав "screen -r" даже после выхода из системы! :)

screen имеет множество дополнительных функций, таких как несколько окон, активная панель задач и т. д. Вот руководство: ссылка на сайт

После того, как вы использовали ^ Z, чтобы что-то ОСТАНОВИТЬ, введите "bg", чтобы оно работало в фоновом режиме. "fg" вернет его на передний план, пока вы не вышли из системы.

Я бы рекомендовал запускать такие программы, как scp in screen. Причина в том, что, помещая команду в фоновый режим, она сбрасывает вывод в ваш текущий терминал, и вы не можете легко отключиться от сеанса ssh и повторно подключиться к нему в середине вашей работы.

Экран запуска. Перед вами новый терминал. Запустите свой процесс. Теперь нажмите «ctrl-a d», и вы должны получить строку с надписью

[Screen detached]

Вы можете повторно подключиться к своему экрану, запустив:

# screen -r

Вы должны вернуть свой оригинальный терминал.

Для фоновых команд просто добавьте & после команды.