Přehození běžícího procesu pod tmux/screen

19. 11. 2013 9:47 (aktualizováno) | Petr Krčmář

Běží vám proces na popředí a vy si nadáváte, že jste si ho neotevřeli v multiplexeru. Všechno se dá napravit. Tohle naštěstí snadno.

Nevím jak vy, ale já si život bez terminálového multiplexeru neumím představit. Na Rootu jsem postupně psal o třech nejznámějších:

Já jsem si vybral Tmux, mám přenastavené klávesy jako ve screenu (popsáno v článku) a jsem spokojený. Používám ho jak na SSH, tak i lokálně, protože mám běžně otevřených několik různých terminálů – určitě to znáte.

Pokud některý z multiplexerů používáte, určitě také znáte situaci, kdy rozjedete nějakou úlohu a až dodatečně si uvědomíte, že by se vám pod ní hodil třeba ten Tmux. Ovšem když už to běží, jak to tam dostat dodatečně? Naštěstí na to existuje odpověď: nainstalujte si balíček  reptyr.

Ten umí přehodit už běžící proces do jiného terminálu. Funguje tak, že se k procesu připojí pomocí ptrace a změní mu nastavení výstupů a řídící terminál. Takže stačí dodatečně pustit s multiplexer a proces si do něj „nasát“. Postup podrobně:

1) spustíme si nějaký proces, třeba na zkoušku MC
2) pomocí ctrl+z ho uspíme na pozadí
3) spustíme multiplexer: screen nebo  tmux

4) zjistíme si PID procesu: ps ax|grep mc

5) přehodíme si proces k sobě: reptyr 123456

Pokud přehazujeme skutečně mezi dvěma terminály (nebo okny), můžeme ještě před přehozením nechat proces běžet na pozadí pomocí bg, případně ho kvůli bezpečnosti můžeme vydědit pomocí disown. Pokud to neuděláme, bude se na starém terminálu (pokud to tedy byl jiný než ten současný) tvářit jako stále upozaděný a je možné ho vyvolat pomocí fg  zpět.

Dodatek: pokud tohle nechcete řešit a chcete mít Tmux spuštěný v každém novém terminálu, stačí si do ~/.bashrc přidat řádek:

test -z "$TMUX" && (tmux attach || tmux new-session)

Ten ověří, zda už Tmux neběží a pokud ne, připojí už existující sezení nebo otevře nové.

Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

Měšec.cz: Nový sazebník mBank radost nedělá

Nový sazebník mBank radost nedělá

120na80.cz: Bonbon si schovejte na přistání

Bonbon si schovejte na přistání

DigiZone.cz: Skylink v 1. polovině srpna ukončí 12 207

Skylink v 1. polovině srpna ukončí 12 207

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?

Vitalia.cz: Dermatolog radí: Pozor na citrusové vůně

Dermatolog radí: Pozor na citrusové vůně

DigiZone.cz: Přechod na DVB-T2? Kolem miliardy...

Přechod na DVB-T2? Kolem miliardy...

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

120na80.cz: Úpal vs. úžeh. Co dělat?

Úpal vs. úžeh. Co dělat?

Vitalia.cz: Tohle je Břicháč Tom, co zhubnul 27 kg

Tohle je Břicháč Tom, co zhubnul 27 kg

Vitalia.cz: Ahold a Billa prodávaly falšované sýry

Ahold a Billa prodávaly falšované sýry

Podnikatel.cz: Používají čárové kódy, vyhledávače je mají radši

Používají čárové kódy, vyhledávače je mají radši

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

Podnikatel.cz: Kanceláře jako kóje? Špatný vtip

Kanceláře jako kóje? Špatný vtip

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Podnikatel.cz: Fotogalerie: Jesenka už má skoro 50 let

Fotogalerie: Jesenka už má skoro 50 let