Покласти процес у фоновому режимі, не зупиняючи його - (ctrl + z)?


16

Якщо я запускаю процес, вводячи його зазвичай у командному рядку, наприклад, як

wget http://site.com/bigfile.zip

а потім вирішую, що хочу перенести це на другий план, я знаю, що я можу використовувати щось на кшталт, ctrl+zа потім bg 1(або jobsспочатку, якщо потрібно, щоб отримати ідентифікатор), щоб помістити його на другий план.

Моє запитання, чи є спосіб перемістити роботу з переднього плану прямо на другий план, не зупиняючи його - як-от ще один ярлик, окрім ctrl+zцього, це зробить.

Я також усвідомлюю, що можу додати &в кінці оригінальної команди, щоб почати її у фоновому режимі, але питання стосується того, коли ви запускаєте процес на передньому плані, а потім розумієте, що хочете перемістити його на другий план.

Відповіді:


14

Так, абсолютно: екран (1) - це відповідь.

Для початку додайте screen -Rдо ~ / .bash_profile або еквівалент, вийдіть із системи та увійдіть знову.

Щоб продовжити те, що працює у фоновому режимі, натисніть Control-A, потім N. Це створить новий екран терміналу на передньому плані, безперервно продовжуючи процес запуску на задньому плані.

Натисніть Control-A, потім ", щоб отримати інтерактивний список відкритих екранів, або натисніть Control-A, а потім номер, щоб перейти безпосередньо на певний екран.

Первісна ваша вимога полягала в тому, щоб мати можливість переміщати процес на другий план, не зупиняючи його. Екран має дві додаткові переваги, і це величезна кількість, якщо ви хочете робити кілька справ одночасно:

  1. Ви можете переходити між процесами набагато плавніше, ніж за допомогою Control-Z, bg, fg тощо.
  2. Якщо ваш термінальний сеанс буде відключений, ваші процеси (наприклад wget http://example.com/bigfile.iso) НЕ припиняться! Усі ваші сеанси оболонки будуть там чекати на вас, коли ви знову підключитесь.

Для отримання додаткової інформації прочитайте екранну (1) сторінку чи Посібник із екрана GNU .


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