poistu tmux-ikkunasta sulkematta pääteohjelmaa

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

  • man tmux | less -p detach
  • Lisää vuorovaikutteisuutta tavalla, voit tehdä Ctrl+b s, joka luetteloi istunnot, navigoi tapattavanasi ja kirjoita :kill-session.

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ös permission 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 sammuttamaan SIGTERM 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.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *