По умолчанию для такого рода задач используется старая команда nohup ; префикс nohup
перед вашей командой заставит ее продолжаться даже после того, как вы закрыли терминал:
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/
Если вы закроете окно до завершения rsync, остальная часть его вывода будет записана в файл с именем nohup.out
в каталоге, в котором вы запустили rsync.
Однако в случае, если после запуска rsync вы также хотите выполнить другие действия перед выходом из системы, добавьте &
в конце командной строки, чтобы он работал в фоновом режиме. В этом случае вам также потребуется перенаправить его вывод в файл, так как rsync будет выдавать вывод, который будет мешать последующим командам:
nohup rsync -azvv -e ssh root@A:/home/some_path /home/target_local_path/ > rsync.log 2>&1 &
№
Хотя вы можете эмулировать любые ioctl ()с помощью cuse
, этого недостаточно для реализации терминала, такого как /dev/tty1
is --, чей интерфейс также включает управление заданиями (, т.е. правильно перенаправляет сигналы, такие как SIGHUP
или SIGTTIN
в процессы ), а не просто какие-то дополнительные ioctl ()s.
Обратите внимание, что вы можете сделать снимок настоящей «консоли» Linux через текстовый режим /dev/vcsX
и/dev/vcsaX
()или/dev/fbX
(фреймбуфер ), так что повторная реализация выглядит довольно бессмысленной --просто например, нацеливание на консоль Linux, в частности, существование которой не гарантируется даже в системах Linux (и фактически не существует в 99,9% систем Linux;-))