GNU/Linux >> Znalost Linux >  >> Linux

Příkaz obrazovky Linux:Udržujte procesy v chodu i přes přerušené připojení

Myslím, že to všichni znáte:jste připojeni ke svému serveru pomocí SSH a právě kompilujete nějaký software (např. nové jádro) nebo děláte nějaký jiný úkol, který zabere spoustu času, a najednou vám z nějakého důvodu vypadne připojení a ztratíte svou nedokončenou práci. To může být velmi nepříjemné, ale naštěstí existuje malá utilita zvaná obrazovka, která vám umožní znovu se připojit k předchozí relaci, abyste mohli dokončit svůj úkol. Tento krátký tutoriál ukazuje, jak používat obrazovku právě pro tento účel.

1 Instalace příkazu obrazovky

Instalace obrazovky je velmi snadná. V Debianu spusťte:

apt-get install screen

Pro Ubuntu použijte příkaz se sudo:

sudo apt-get install screen

A pro Fedora, CentOS, SuSE a Mandriva existují také balíčky obrazovek, které můžete nainstalovat pomocí yum/yast/urpmi/...

Fedora a CentOS

yum install screen

2 Použití příkazu obrazovky

Pomocí obrazovky můžete vytvořit jednu nebo více relací ve svém aktuálním terminálu SSH. Stačí běž

screen

začít. To vytvoří relaci obrazovky nebo okno (ačkoli to tak nevidíte) ve vašem aktuálním terminálu SSH:

Stisknutím mezerníku nebo Return přejděte na příkazový řádek:

Vypadá to jako váš normální terminál SSH, že?

Nyní popíšu nejdůležitější příkazy obrazovky, které potřebujete k ovládání obrazovky. Tyto příkazy začínají CTRL a, aby se odlišily od normálních příkazů shellu.

  • Ctrl a c – Vytvoří novou relaci obrazovky, takže můžete použít více relací obrazovky najednou.
  • Ctrl a n – Přepne na n ext screen session (pokud používáte více než jednu).
  • Ctrl a p – Přepne na p opakovaná relace obrazovky (pokud používáte více než jednu).
  • Ctrl a d – Odpojí relaci obrazovky (bez ukončení procesů v ní – pokračují).

Chcete-li zavřít relaci obrazovky, kde jsou všechny úkoly dokončeny, můžete napsat

exit

Teď si s tím trochu pohrajeme. V našem okně obrazovky spustíme příkaz

top

Mělo by to vypadat takto:

Nyní vytvoříme další relaci obrazovky zadáním

Ctrl a c

Otevře se nová prázdná obrazovka a spustíme

tail -f /var/log/mail.log

abyste se mohli průběžně dívat na náš protokol pošty:

Nyní můžete procházet své dvě obrazovky spuštěním

Ctrl a n

nebo

Ctrl a p

Chcete-li odpojit relaci obrazovky a vrátit se k normálnímu terminálu SSH, zadejte

Ctrl a d

Zpět na svůj normální terminál SSH můžete spustit

screen -ls

k získání seznamu vašich aktuálních relací obrazovky:

There are screens on:
        2477.pts-0.server1      (Detached)
        2522.pts-0.server1      (Detached)
2 Sockets in /var/run/screen/S-root.

Chcete-li se znovu připojit k jedné z těchto relací, spusťte

screen -r 2477.pts-0.server1

kde 2477.pts-0.server1 je název jedné z relací z výstupu obrazovky -ls.

Chcete-li opustit a dokončit relaci obrazovky, dokončete všechny aktuální úlohy v ní (nahoře lze dokončit zadáním q, tail -f /var/log/mail.log lze dokončit zadáním CTRL c) a poté zadejte

exit

Poté přejdete zpět na další relaci obrazovky (pokud používáte více než jednu) nebo na normální terminál SSH, pokud nejsou otevřeny žádné další relace obrazovky.

Pokud se chcete o obrazovce dozvědět více, spusťte

man screen

3 Moje připojení přerušilo – co mohu dělat?

Nyní předpokládejme, že zkompilujete jádro v relaci obrazovky, což normálně trvá dlouho a vaše připojení náhle přestane fungovat. Díky obrazovce se vaše práce neztratí. Jakmile bude připojení zálohováno, přihlaste se znovu do systému pomocí SSH a spusťte

screen -ls

jak je uvedeno v kapitole 2. Z výsledků vyberte jednu relaci (např. 2477.pts-0.server1) a znovu se k ní připojte:

screen -r 2477.pts-0.server1

Pokud jste vybrali správnou relaci, měli byste zjistit, že se vaše jádro stále kompiluje (pokud mezitím nebylo dokončeno), abyste mohli pokračovat ve své práci.

  • obrazovka:http://www.gnu.org/software/screen

Linux
  1. 5 způsobů, jak udržet vzdálené relace a procesy SSH spuštěné po odpojení

  2. 4 způsoby, jak udržet příkaz spuštěný poté, co se odhlásíte z relace SSH

  3. Linuxový příkaz ps

  1. Ssh – Ponechat procesy spuštěné po odpojení relace Ssh?

  2. Jak používat Linux Screen Command

  3. Jak zastavit proces obrazovky v linuxu?

  1. Jak zabít běžící procesy v Linuxu

  2. Jak používat příkaz „screen“ v Linuxu

  3. Obnovit příkaz spuštěný ve zrušené relaci SSH