වෙන් කළ තිර සැසිය මරන්න [වසා ඇත]


865

වෙන්වූ තිරයක් මගින් මරා දැමිය හැකි තැනකින් මම ඉගෙන ගතිමි

screen -X -S [session # you want to kill] kill

[සැසිය # ඔබට මරා දැමීමට අවශ්‍යයි] ලබා ගත හැක්කේ කොතැනින්ද?

screen -ls

නමුත් මෙය ක්‍රියාත්මක නොවේ. මොනවා හරි වැරැද්දක් වෙලාද? නිවැරදි ක්‍රමය කුමක්ද?


25
"කොහේ හරි" සෑම විටම හොඳ තොරතුරු ප්‍රභවයක් නොවේ. "මෑන් තිරය" උත්සාහ කරන්න.
innaM

27
නිවැරදි විධානය නම්screen -S sessionname -p 0 -X quit
ජිමෙට්‍රි

killall - # screen [# = ඔබට මරා දැමීමට අවශ්‍ය තිර ගණන]
CArnold

මම සරලවම පිටවීම
TPArrow

තිරයේ සිටින විට CTRL + D පහසුම විධානය වේ.
දොන් කිං

Answers:


1267

"මරන්න" එක් තිර කවුළුවක් පමණක් විනාශ කරයි. සම්පූර්ණ සැසිය "මරා දැමීමට" භාවිතා කරන්න quit.

උදාහරණයක්

$ screen -X -S [session # you want to kill] quit

මිය ගිය සැසි සඳහා: $ screen -wipe


112
උබුන්ටු හි 'පිටවීම' (උපුටා දැක්වීම් නොමැතිව) ටයිප් කරන්න: P
mzalazar

16
exitක්‍රියා කරන නමුත් විවෘත කළ සෑම තිරයකම ටයිප් කළ යුතුය. quitවැඩ
කරන්නේවත්

4
ඔබ එය පේළියේ -X -S pid / sockname quit
එඩ්වාඩ්

20
OSX screen -X quitහි ඕනෑම පර්යන්තයකට ඇතුළු වීම සියලු ක්‍රියාකාරී සැසි අවසන් කරයි
මයිකල්

5
Ctrl + D ද ක්‍රියා කරයි
Yi Xin

499

පහත දැක්වෙන දේ කිරීමෙන් තිර සැසිය තුළ ප්‍රතිචාර නොදක්වන වෙන්වූ සැසියක් ඔබට මරා දැමිය හැකිය.

  1. වර්ගය screen -listවෙන් කළ තිර සැසිය හඳුනා ගැනීමට කරන්න.

    $ $ තිර-ලැයිස්තුව  
        තිර තිබේ:  
             20751.Melvin_Peter_V42 (වෙන් කර ඇත)  
    

    සටහන: 20751.Melvin_Peter_V42ඔබේ සැසි හැඳුනුම්පත.

  2. වෙන්වූ තිර සැසියට සම්බන්ධ වන්න

    screen -r 20751.Melvin_Peter_V42
  3. සැසිවාරයට සම්බන්ධ වූ පසු Ctrl+ Aටයිප් කරන්න:quit


20
ඔබට සම්පූර්ණ නම නොමැතිව තිරය -r 20751 භාවිතා කළ හැකිය
Gal Bracha

53
හෝ: Ctrl + a, k
laffuste

@laffuste ගේ අදහස් මට වැඩ, නමුත් quitසහ :quitතුඩු command not foundමගේ දුරස්ථ ලිනක්ස් සේවාදායකයේ (සමහර විට මෙම මෙහෙයුම් පද්ධතිය හෝ තිරයේ අනුවාද අතර වෙනස්කම් වරද වේ)
වැටෙයි-R

වරක් තිරයට සම්බන්ධ වූ විට exitද ක්‍රියා කරයි
kabrapankaj32

145

ලැයිස්තු තිර:

screen -list

ප්‍රතිදානය:

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.

තිර සැසිය මරන්න:

screen -S 23536 -X quit

1
'screen -ls' ද ක්‍රියා කරයි. ;)
අතුල් වෛභව්

113

යම් අර්ථවත් නමක් ලබා දුන් විට, සැසියක් kill ාතනය කිරීම පහසුය:

//Creation:
screen -S some_name proc
// Kill detached session
screen -S some_name -X quit

ඇයි screen -Sසහ නැත්තේ screen -r?
43 ටෙසරැක්ට්ස්

1
මෙම පිළිතුර සැසියේ නම භාවිතා කරයි, එය හැඳුනුම්පත බැලීමට වඩා පහසුය. ඔබට ස්තුතියි!
පෝල් කෙන්ජෝරා

43

ඔබට තිරයේ සැසිය තබා ඇති ස්ථානයට ගොස් ධාවනය කළ හැකිය:

 screen -ls

එහි ප්‍රති results ලය

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

එය ඉවත් කරන්න:

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

මෙම uscreensබහලුම සතුව නැත 26727.pts-0.devxxxතවදුරටත් එය ගොනුව. දැන් මෙය ටයිප් කිරීමට වග බලා ගන්න:

screen -ls

ඔබට ලැබිය යුත්තේ:

/ Tmp / uscreens / S-xxx හි සොකට් නොමැත.


4
තිරය ​​"හිරවී" තිබේ නම් ක්‍රියා කරන එකම විසඳුම මෙයයි, එනම්. මිය ගොස් නැත, නමුත් එයට සම්බන්ධ කළ නොහැක.
redreinard

තිරය ​​මුළුමනින්ම අගුළු දමා ඇති විට මෙය මට උදව් විය, නමුත් සත්‍ය ක්‍රියාවලිය සොයා ගැනීමටත් මරා දැමීමටත් මට අවශ්‍ය විය. ps aux | grep screenPid එක සොයාගත් අතර killඑය ඉවත් කිරීමට මම නිකුත් කළෙමි . ඔබගේ තිරය තුළ ඔබ ධාවනය කර ඇති දේ මත පදනම්ව, ඔබට පිරිසිදු කිරීමට තාවකාලික ලිපිගොනු සහ අගුල් තිබිය හැකිය.
ලොම්කි

29
screen -wipe

සියලුම මළ තිර සැසි පිරිසිදු කළ යුතුය .


11
මිය ගිය යන්නෙන් අදහස් කරන්නේ කුමක්ද? කිසිම වැඩසටහනක් ක්‍රියාත්මක නොවේද?
ෂිහාඕ ෂු

1
Hi ෂිහාඕක්සු ඩෙඩ් යන්නෙන් අදහස් කරන්නේ සැසිය වෙත ළඟා විය නොහැකි අතර දේශීය හොස්ටල් මත (සොකට් සම්බන්ධතාවය කැඩී ඇත). - gnu.org/software/screen/manual/screen.html
iBaff

23

මෙය ඔබගේ ~/.bashrc:

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

ඉන්පසු cleanscreenසියලු තිර සැසිය පිරිසිදු කිරීමට භාවිතා කරන්න.


11
සරල එක් ලයිනර්:screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
ඒරියල්

3
සංග්‍රහයක් වැඩ කළ නමුත් OSX හි වැඩ කිරීම සඳහා එය තරමක් වෙනස් කිරීමට සිදු විය: screen -ls | tail +2 | head -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit
ජොනතන්

සුළු වැඩි දියුණු කිරීම: -screen -ls | grep අමුණා ඇත | cut -d. -f1 | awk '{print $ 1}' | xargs -I {} screen -d {}
අභය යාදව්


16

ඝාතනය කිරීමට සියලු , වෙන් තිරය සැසි ඔබගේ .bash_profile මෙම කාර්යය ඇතුළත් වේ:

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

එය ක්‍රියාත්මක කිරීමට, අමතන්න killd


5
සමහර විට එය ඉලක්කම් 5 ක් නොවේ, එබැවින් මම භාවිතා කරමි: kild () session හි සැසිය සඳහා (screen -ls | grep -o '[0-9] \ +') තිරය කරන්න -S "{{සැසිය}" -X ඉවත්වීම; done}
කොස්තියන්ටින්

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.

එය සොකට් එක ඉවත් කිරීම පමණක් නොව, එහි පිටුපස ඇති ක්‍රියාවලිය විනාශ නොකරන්නේද?
මාටින් සී

සොම්බි ක්‍රියාවලි නිර්මාණය කිරීමේ දෘෂ්ටි කෝණයෙන් මෙම ක්‍රමය අවදානම් ද?
Fedir RYKHTIK

5

විකල්පයක් ලෙස, ඔබගේ තිර සැසියේදී ඔබ කළ යුත්තේ පිටවීම ටයිප් කිරීමයි

මෙමඟින් තිරය මඟින් ආරම්භ කරන ලද ෂෙල් සැසිය විනාශ වන අතර එමඟින් ඔබ සිටින තිර සැසිය effectively ලදායී ලෙස අවසන් වේ.

තිර සැසි හැඳුනුම්පත ආදිය ගැන කරදර වීමට අවශ්‍ය නැත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.