Эмуляция консоли Linux

По умолчанию для такого рода задач используется старая команда 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 &

0
23.11.2021, 18:46
1 ответ

Хотя вы можете эмулировать любые ioctl ()с помощью cuse, этого недостаточно для реализации терминала, такого как /dev/tty1is --, чей интерфейс также включает управление заданиями (, т.е. правильно перенаправляет сигналы, такие как SIGHUPили SIGTTINв процессы ), а не просто какие-то дополнительные ioctl ()s.

Обратите внимание, что вы можете сделать снимок настоящей «консоли» Linux через текстовый режим /dev/vcsXи/dev/vcsaX()или/dev/fbX(фреймбуфер ), так что повторная реализация выглядит довольно бессмысленной --просто например, нацеливание на консоль Linux, в частности, существование которой не гарантируется даже в системах Linux (и фактически не существует в 99,9% систем Linux;-))

1
23.11.2021, 20:22

Теги

Похожие вопросы