lépjen ki a tmux ablakból anélkül, hogy kilépne a terminál programból

OK, új vagyok ebben. Telepítettem a tmux alkalmazást néhány napos kísérlet. A tmux new -s name gépelés után új ablakot kaptam, amelynek alján zöld szalaghirdetés található. Fordítom és futtatom a java programot. Most már nem tudom, hogyan lépjek ki az ablakból (míg hagyja futni). A bash (vagy bármi más) kurzor nem válaszol, mert a java program még mindig fut. Eddig a megoldásom az volt, hogy teljesen kiléptem a Terminal programból, és újra újra megnyíltam. Bármilyen ötletem van a tmux ablak bezárása nélküli kilépésről az egész Terminál program?

Megjegyzések

  • man tmux | less -p detach
  • További interaktivitásért módon megteheti Ctrl+b s, amely felsorolja a munkameneteket, navigáljon a megölni kívántra és írja be a következőt: :kill-session.

Válasz

Leválasztás a jelenleg csatolt munkamenetről

Munkamenet

Ctrl + b d vagy Ctrl + b :detach

Képernyő

Ctrl + a Ctrl + d vagy Ctrl + a :detach

megjegyzések

  • Ezután futtatnia kell a tmux attach parancsot, hogy újracsatlakozás után ismét beléphessen a nyílt munkamenetbe.
  • I ' mindig is megtettem ENTER ~ . Ez szebbnek tűnik.
  • Van-e hely ~ és . és visszaadja a permission denied: /home/folder @ThomasEding
  • @alper szót sem fentebb beírtam.

Válasz

Úgy gondolom, hogy az előző válaszok hiányosak. Az :detach az, hogy leállítja a tmux aktivitást megjelenítő nézetablakokat. Maga a tmux azonban még mindig a háttérben fut, amint láthatja a ps futtatásával:

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

Sőt, még ha kilépsz is a terminálból, és újraindítod, a tmux folyamatok még mindig a háttérben futnak.

Ahhoz, hogy magát a tmux folyamatot elpusztítsd, meg kell tenned:

tmux kill-session [-t session_name]

vagy egyszerűen:

kill -9 1799

Megjegyzések

  • Imho, értelmesebb lenne néhány válasz ' hiányosságot kommentálni az adott válasz alatt. és hagyja a bejegyzést teljes és tartalmas válaszként, anélkül, hogy az olvasóknak meg kellene találniuk a korábbi válaszokat, majd elemezniük kell őket.
  • Úgy gondolom, hogy az OP kifejezetten azt akarta, hogy a háttérfolyamat (esetében java) folytatódjon , ezért megölése kontraproduktív lenne. Érdekesebb az, ha később újra kapcsolódik a leválasztott folyamathoz a tmux attach-session használatával.
  • A kill -9 használata abszolút Rossz út ™ erre. Ez egy SIGKILL jelet küld, amely nem teszi lehetővé a folyamat tisztulását maga után, ami komoly problémákat okozhat az erőforrások felfüggesztésével. A SIGKILL csak akkor használható, ha egy folyamatot már udvariasan kértek a takarításra és a leállításra a SIGTERM vagy hasonló eszközön keresztül, és bármilyen okból nem hajlandó ezt megtenni; akkor is kerülni kell a SIGKILL küldését, ha tehetik. Ez a válasz (helytelenül) arra következtet, hogy ez az első dolog, amit az embernek meg kell tennie egy háttérfolyamat leállításához, mint a tmux szerver.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük