Zabít odpojen relace obrazovky

hlasů
657

Naučil jsem se odněkud samostatně stojící obrazovky může být zabit

Obrazovka -X -S [session # chcete zabít] zabít

kde [session # chcete zabít] může být dostal od

-Je obrazovky.

Ale to nefunguje. Něco špatně? Jaký je správný způsob?

Položena 02/10/2009 v 14:58
zdroj uživatelem
V jiných jazycích...                            


11 odpovědí

hlasů
914

„zabít“ zabije jen jedno okno obrazovky. „Zabít“ kompletní relace, použití quit.

Příklad

$ screen -X -S [session # you want to kill] quit
Odpovězeno 02/10/2009 v 15:10
zdroj uživatelem

hlasů
438

Můžete zabít odpojit relaci, která neodpovídá rámci relace obrazovky pomocí následujícího postupu.

  1. Sem screen -listidentifikovat Oddělenou relace obrazovky.

    ~ $ Obrazovka -List  
        Existuje obrazovky na:  
             20751.Melvin_Peter_V42 (samostatný)  
    

    Poznámka: 20751.Melvin_Peter_V42je vaše relace id.

  2. Přichytit na detašovaném relaci obrazovky

    Obrazovka -r 20751.Melvin_Peter_V42
  3. Po připojení k sezení tiskové Ctrl+ Azadejte:quit

Odpovězeno 22/02/2010 v 04:15
zdroj uživatelem

hlasů
109

Seznam obrazovek:

screen -list

Výstup:

There is a screen on:
23536.pts-0.wdzee       (10/04/2012 08:40:45 AM)        (Detached)
1 Socket in /var/run/screen/S-root.

Zabít relaci obrazovky:

screen -S 23536 -X quit
Odpovězeno 04/10/2012 v 13:52
zdroj uživatelem

hlasů
103

Je to jednodušší zabít relace, když je nějaký smysluplný název přidělený:

//Creation:
screen -S some_name proc
// Kill detached session
screen -S some_name -X quit
Odpovězeno 30/09/2010 v 14:09
zdroj uživatelem

hlasů
39

Stačí jít na místo, kde se relace obrazovky sídlí a spustit:

 screen -ls

což má za následek

 There is a screen on:
         26727.pts-0.devxxx      (Attached)
 1 Socket in /tmp/uscreens/S-xxx. <------ this is where the session is.

A jen odstranit to:

  1. cd / tmp / uscreens / S-xxx
  2. ls
  3. 26727.pts-0.devxxx
  4. rm 26727.pts-0.devxxx
  5. ls

uscreensAdresář nebude mít 26727.pts-0.devxxxsoubor v něm už ne. Nyní, aby se ujistil stačí napsat toto:

screen -ls

a vy byste měli dostat:

Žádné Zásuvky do souboru / tmp / uscreens / S-xxx.

Odpovězeno 29/09/2011 v 19:44
zdroj uživatelem

hlasů
22
screen -wipe

Měli vyčistit všechny mrtvé obrazovky relace.

Odpovězeno 07/05/2012 v 23:03
zdroj uživatelem

hlasů
17

Přidat na ~/.bashrc:

alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit"

Pak použijte cleanscreenk čištění všechny relace obrazovky.

Odpovězeno 28/02/2013 v 01:01
zdroj uživatelem

hlasů
16

Pro mě jednoduché

exit

funguje. To je v rámci relace obrazovky.

Odpovězeno 18/10/2012 v 05:52
zdroj uživatelem

hlasů
15

Zabít všechny odpojené obrazovky relací zahrnují tuto funkci ve svém .bash_profile:

killd () {
for session in $(screen -ls | grep -o '[0-9]\{5\}')
do
screen -S "${session}" -X quit;
done
}

jej spustit, volejte killd

Odpovězeno 21/01/2013 v 22:02
zdroj uživatelem

hlasů
7
== ISSUE THIS COMMAND
[xxx@devxxx ~]$ screen -ls


== SCREEN RESPONDS
There are screens on:
        23487.pts-0.devxxx      (Detached)
        26727.pts-0.devxxx      (Attached)
2 Sockets in /tmp/uscreens/S-xxx.


== NOW KILL THE ONE YOU DONT WANT
[xxx@devxxx ~]$ screen -X -S 23487.pts-0.devxxx kill


== WANT PROOF?
[xxx@devxxx ~]$ screen -ls
There is a screen on:
        26727.pts-0.devxxx      (Attached)
1 Socket in /tmp/uscreens/S-xxx.
Odpovězeno 30/06/2010 v 17:14
zdroj uživatelem

hlasů
5

Alternativně, zatímco v relaci obrazovky vše, co musíte udělat, je typ exit

To zabije zasedání shell iniciovanou na obrazovce, která účinně ukončí relaci obrazovky jste na.

Není třeba se trápit s ID relace obrazovky, atd

Odpovězeno 02/03/2012 v 12:21
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more