opusťte okno tmux bez ukončení programu Terminál

OK, jsem v tom nový. Nainstaloval jsem tmux ke spuštění několikadenní experiment. Po zadání tmux new -s name se mi zobrazilo nové okno se zeleným bannerem dole. Zkompilovám a spustím java program. Teď nevím, jak okno opustit (zatímco ponechte jej spuštěný). Kurzor bash (nebo cokoli jiného) nereaguje, protože program java stále běží. Mým řešením je zatím úplně ukončit program Terminál a znovu jej otevřít. Nějaké nápady, jak ukončit okno tmux bez ukončení celý program Terminálu?

Komentáře

  • man tmux | less -p detach
  • Interaktivnější způsobem můžete Ctrl+b s zobrazit seznam relací, přejít na tu, kterou chcete zabít, a zadat :kill-session.

Odpověď

Odpojit se od aktuálně připojené relace

Relace

Ctrl + b d nebo Ctrl + b :detach

Obrazovka

Ctrl + a Ctrl + d nebo Ctrl + a :detach

Komentáře

  • Poté musíte znovu spustit tmux attach a po opětovném připojení vstoupit do otevřené relace.
  • I ' vždy jsme udělali ENTER ~ . Zdá se to hezčí.
  • Existuje prostor mezi ~ a . a také vrátí permission denied: /home/folder @ThomasEding
  • @alper Ve výrazu I nejsou vůbec žádné mezery napsáno výše.

Odpověď

Domnívám se, že předchozí odpovědi jsou neúplné. :detach udělá to, že vypne výřezy, které zobrazují aktivitu tmux. Samotný tmux však stále běží na pozadí, jak vidíte spuštěním ps:

myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev

Ve skutečnosti, i když ukončíte terminál a znovu ho spustíte, všechny procesy tmux STILL běží na pozadí.

Chcete-li samotný proces tmux zabít, musíte udělat:

tmux kill-session [-t session_name]

nebo jednoduše:

kill -9 1799

Komentáře

  • Imho, dávalo by větší smysl komentovat některé odpovědi ' s nedostatky pod touto konkrétní odpovědí a nechte svůj příspěvek jako úplnou a obsažnou odpověď, aniž byste museli čtenáře zjistit, které odpovědi jsou předchozí, a poté je analyzovat.
  • Myslím, že OP konkrétně chtěl, aby proces na pozadí (v jeho případě java) pokračoval v běhu , takže jeho zabití by bylo kontraproduktivní. Zajímavější by bylo opětovné připojení k odpojenému procesu pomocí tmux attach-session.
  • Použití kill -9 je absolutně Špatný způsob ™, jak toho dosáhnout. To odešle SIGKILL signál, který neumožní procesu vyčistit sám sebe, což může způsobit vážné problémy s visícími zdroji. SIGKILL by měl být použit pouze v případě, že proces již byl zdvořile požádán o vyčištění a vypnutí prostřednictvím SIGTERM nebo podobného, a z jakéhokoli důvodu odmítá tak učinit; i přesto byste se měli vyhnout odesílání SIGKILL, pokud mohou. Tato odpověď vyvozuje (nesprávně), že by to měla být jedna z prvních věcí, které by člověk měl udělat pro vypnutí procesu na pozadí, jako je tmux server.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *