К основному контенту

Как сохранить процессы, запущенные после выхода SSH в Linux

Это происходит часто, когда мы пытаемся получить доступ к приложению или контенту, но он запрашивает повторный вход или всплывающее окно, в котором указано, что ваш сеанс отключен.

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

Много раз задается переменная «session_time», которая сохраняет активное соединение на время.

Но что происходит, когда время сеанса заканчивается, сигнал «SIGNUP» отправляется процессам, выполняющимся в фоновом режиме, а также для процессов, являющихся дочерними элементами основного процесса, которые принудительно завершаются независимо от завершения или частичного завершения задачи.

Итак, как мы можем сохранить процесс, даже после выхода из системы SSH?

В этой статье я объясню, как поддерживать работу даже после того, как SSH отключился от терминала Linux (Ubuntu 18.04 и CentOS 7).

1) Screen команда

Утилита screen предоставляет возможность запускать команду в системе Linux, отсоединять ее, а затем снова подключать.

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

Использование одной сеанса Screen

СОВЕТ: здесь мы используем команду «top», вы можете запускать команду в сеансе.

Немедленно нажмите «ctrl + a» и «d» на DETACH из сеанса экрана; Он будет работать в фоновом режиме.

Чтобы войти в сеанс отдельного screen:

 # screen -r 

используйте «exit» для завершения сеанса

 # exit [screen is terminating] 

Вы находитесь в своей родительской оболочке bash;

Проверьте «screen -r», если есть сеанс

 # screen -r 

Экран не будет возобновлен.

Добавить несколько screen

Добавьте сеансы screen и просто переключитесь с одного на другой.

Мы видели, как использовать сеанс с одним экраном выше.

Попробуем несколько.

Добавить первый экран:

 # screen 

(запустить «top» с screen сеанса и «ctrl + a» + «d»)

 # top[detached from 15603.pts-1.centos7] 

Запустите любую команду с этого нового сеанса  в соответствии с вашим желанием.

Попробуем «df» проверить смонтированные диски (запустите «df -hT» из сеанса экрана и «ctrl + a» + «d»)

 # df -hT [detached from 15652.pts-1.centos7] 

БОНУС: Названия экранов слишком длинны?

Назовем сессию; имя заменит tty.host.

Это действие назовет сессию по вашему желанию; давайте назовем сессию «ping».

 # screen -S# screen -S ping 
Затем отсоедините сеанс. Вы увидите имя сеанса сразу после pid; вместо tty.host
 # ping -c5 www.teamhelps.pp.ua[detached from 15929.ping] 
 $ screen -rThere are several suitable screens on:15929.ping      (Detached)15652.pts-1.centos7     (Detached)15603.pts-1.centos7     (Detached) 
Введите «screen [-d] -r [pid.] Tty.host», чтобы возобновить одно из них.

2) disown команда

Команда top похожа на вкладку процессов в диспетчере задач Windows. Команда Top сообщает все о текущих запущенных, мертвых, зомбированных и т. д. процессах. Также обеспечивает загрузку процессора и загрузку центрального процессора в соответствии с 1 минутой, 5 минутами, временной отметкой 15 минут.
 # top > sys_summary &# jobs -l 

3) Команда nohup

Давайте запустим yum, используя nohup, чтобы установить пакет

 # nohup yum install -y httpd *> ApacheInstall 2> & 1 & 

Теперь давайте посмотрим, что задания работают в фоновом режиме

 # jobs -l [1]+  3646 Running                 nohup yum install -y httpd* > ApacheInstall 2>&1 & 

4) Команда setid

setsid — создает сеанс и устанавливает идентификатор группы процессов

setid () создает новый сеанс, если вызывающий процесс не является лидером группы процессов.

PID вызывающего процесса настроен на обработку идентификатора сеанса и соответствующего идентификатора группы вызывающего процесса.

 # setsid iostat# ps -ef | grep iostat 

Для завершения команды используйте CLT + C

5) Команда Tmux

Tmux является терминальным мультиплексором.

Переключение между несколькими программами на одном терминале упрощается, отсоединяйте их (они продолжают работать в фоновом режиме) и присоединяйте их к другому терминалу.

Присоединение и отключение tmux-сессии

 # tmux attach# tmux detach 

Выход/завершение tmux

 # exit 

Именование сеансов при его создании

# tmux new -s 

Прикрепление с использованием имени

 # tmux attach 

Переключение между сеансами с использованием имен

 # tmux switch -t 

Сеансы полезны для разделения различных рабочих сред.

6) Команда byobu

Многие дистрибутивы не поддерживают bayou, пожалуйста, следуйте нижеприведенным командам, чтобы установить byobu на CentOS, Ubuntu или Fedora.

 # sudo apt-get install byobu (Ubuntu)# sudo yum install byobu (CentOS) 

После установки для вашей среды используйте эту простую команду,

 # byobu 

Теперь мы собираемся инициировать длительный процесс и выйти.

 # tar -xvzf community_images.tar.gz 

Нажмите «F6» для фонового выполнения процесса.
После входа в удаленную систему просто введите byobu для повторного присоединения сеанса.

 # byobu 

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…