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
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 apermission 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 egySIGKILL
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. ASIGKILL
csak akkor használható, ha egy folyamatot már udvariasan kértek a takarításra és a leállításra aSIGTERM
vagy hasonló eszközön keresztül, és bármilyen okból nem hajlandó ezt megtenni; akkor is kerülni kell aSIGKILL
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.
man tmux | less -p detach
Ctrl+b s
, amely felsorolja a munkameneteket, navigáljon a megölni kívántra és írja be a következőt::kill-session
.