OK, olen uusi asia. Asensin tmux
suorittamista muutaman päivän kokeilu. Kun kirjoitin tmux new -s name
, sain uuden ikkunan, jonka alaosassa oli vihreä banneri. Käännyin ja suoritan Java-ohjelmaa. En nyt tiedä, kuinka poistua ikkunasta (kun jätä se käynnissä). Bash (tai mikä tahansa) kohdistin ei vastaa, koska java-ohjelma on edelleen käynnissä. Toistaiseksi ratkaisuni on sulkea pääteohjelma kokonaan ja avata se uudelleen. Ajatuksia tmux-ikkunan sulkemisesta poistumatta koko pääteohjelma?
Kommentit
Vastaa
Irrota liitetystä istunnosta
Istunto
Ctrl + b d tai Ctrl + b :detach
Näyttö
Ctrl + a Ctrl + d tai Ctrl + a :detach
kommentit
- Sinun on sitten suoritettava
tmux attach
, jotta pääset avoimeen istuntoon uudelleen yhdistämisen jälkeen. - I ' olet aina tehnyt
ENTER ~ .
Tämä näyttää mukavammalta. - Onko
~
ja.
ja palauttaa myöspermission denied: /home/folder
@ThomasEding - @alper Ei lausekkeita lausekkeessa I kirjoitettu edellä.
Vastaus
Mielestäni edelliset vastaukset ovat puutteellisia. Mitä :detach
tekee, on sulkea näkymät, jotka näyttävät tmux-aktiivisuutta. Itse tmux on kuitenkin edelleen käynnissä taustalla, kuten voit nähdä suorittamalla ps
:
myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev
Vaikka itse lopetatkin päätelaitteen ja käynnistät sen uudelleen, kaikki tmux-prosessit ovat Vielä käynnissä taustalla.
Tmux-prosessin itse tappaminen edellyttää seuraavaa:
tmux kill-session [-t session_name]
tai yksinkertaisesti:
kill -9 1799
Kommentit
- Imho, olisi järkevämpää kommentoida joitain vastauksen ' vastauksia kyseisen vastauksen alla. ja jätä viestisi täydelliseksi ja sisältyväksi vastaukseksi ilman, että lukijoita vaaditaan selvittämään edelliset vastaukset ja sitten analysoimaan niitä.
- Luulen, että OP halusi nimenomaan taustaprosessin (hänen tapauksessaan Java-ohjelman) jatkamisen. , joten sen tappaminen olisi haitallista. Mielenkiintoisempaa olisi liittää myöhemmin uudelleen irrotettuun prosessiin
tmux attach-session
-toiminnolla. -
kill -9
on ehdottomasti Väärä tapa ™ tehdä tämä. Tämä lähettääSIGKILL
-signaalin, joka ei salli prosessin siivota itseään, mikä voi aiheuttaa vakavia ongelmia riippuvien resurssien kanssa.SIGKILL
tulisi käyttää vain, kun prosessia on jo pyydetty kohteliaasti puhdistamaan ja sammuttamaanSIGTERM
tai vastaavan kautta ja jostain syystä, kieltäytyy tekemästä niin; silloinkin on vältettäväSIGKILL
-palvelun lähettämistä, jos he voivat. Tämä vastaus päättelee (virheellisesti), että sen pitäisi olla yksi ensimmäisistä asioista, jotka henkilön tulisi tehdä sulkeakseen taustaprosessin, kuten tmux-palvelin.
man tmux | less -p detach
Ctrl+b s
, joka luetteloi istunnot, navigoi tapattavanasi ja kirjoita:kill-session
.