Екран запущеного процесу


24

Іноді я забуваю запустити програму під час сеансу на екрані і не можу зупинити її посередині, і я знаю, що це займе багато часу.

Чи є спосіб екранувати вже запущений процес без його перезавантаження?

Відповіді:


12

Знайшов цю відповідь на сервері за замовчуванням від Earl :

Однак для вашої реальної проблеми ви можете спробувати ще одну справу: після запуску своєї роботи з терміналу виберіть її, набравши ctrl- zі потім bg.
Після цього відокремте роботу від його батьківської оболонки - в bash: disown -h %<jobid>. Після цього ви можете безпечно закрити термінал, і робота продовжить роботу.

І це з того самого запитання від Роб Веллса :

$ screen -S my_process
$ retty $(pgrep my_process)
/redraw


Чи є якийсь спосіб, щоб робота знову вийшла на перший план? 'screen', то 'fg 1' не працює для мене
Putnik

@Putnik - ти робив інші кроки, як описано?
warren

7

Знайдений дублікат у ServerFault .

Іншим рішенням, яке не знайдено в цій публікації, є використання retty після початку екранного сеансу.


5
Я видалив свою відповідь; ви можете (і повинні) прийняти власну відповідь через 2 дні. Не соромтесь цитувати відповідні частини тут, оскільки міжміські "дублікати" насправді не є дурними через різні аудиторії.
Джефф Етвуд

4
Але ви не цитували відповідних частин відповідно до пропозиції Джеффа. =)
Девід каже повернути Моніку

5

Погляньте на рептирій , який робить саме це. На сторінці github є вся інформація.

reptyr - Інструмент для "повторного набору"

програми.

reptyr - це утиліта для прийняття наявної запущеної програми та приєднання її до нового терміналу. Почався тривалий процес над ssh, але доведеться вийти з нього і не хочете його переривати? Просто запустіть екран, використовуйте рептирій, щоб схопити його, а потім вбити ssh сеанс і повернутися додому.

ВИКОРИСТАННЯ

рептирій PID

"reptyr PID" захопить процес із ідентифікатором PID та додасть його до поточного терміналу.

Після приєднання процес буде приймати вхід з і записувати вихід у новий термінал, включаючи ^ C і ^ Z. (На жаль, якщо ви працюєте з фоном, вам все одно доведеться запускати "bg" або "fg" у старому терміналі. Це, ймовірно, неможливо виправити розумним чином, не виправляючи оболонку.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.