Wie kann ich eine Sitzung mit gesperrtem Bildschirm mit Gewalt beenden?


2

Ich habe eine alte screenSitzung auf einem Server, der passwortgeschützt zu sein scheint. Das Problem ist, ich kann mich nicht erinnern, ein Passwort dafür festgelegt zu haben, und ich habe keine Ahnung, wie das Passwort lauten könnte. Jedes Terminalfenster, an dem es möglicherweise angebracht war, ist schon lange nicht mehr vorhanden. Wie entferne ich es gewaltsam?

Antworten:


1

Sie können alle gewünschten Programme mit dem killBefehl beenden.
(Nun, keine. Jedes Programm, das Sie gestartet haben, oder alle Programme, wenn Sie root sind.)

Verwenden Sie, um pszu sehen, was Sie ausführen. Notieren Sie sich die PID (Prozess-ID) des Programms, das Sie anhalten möchten, und geben Sie dann Folgendes ein kill -1 12345(wobei 12345 die PID des Prozesses ist, den Sie anhalten möchten).

Dieser Kill signalisiert dem Programm mit einem SIGHUP (Losely translation: Die andere Seite hat das Modem aufgelegt. Bitte speichern Sie alle Daten, die Sie hinterlassen haben und kündigen Sie sie ordnungsgemäß).

Wenn das nicht funktioniert, benutze entweder kill -15(beende jetzt) ​​oder das unhöfliche kill -9(OS: bitte nuke dies aus dem Orbit).

Wenn Sie eine der weniger subtilen Methoden verwendet haben, möchten Sie wahrscheinlich danach manuell bereinigen. Siehe screen -wipeund screen -list.


Ich bin nicht neu in Linux - ich kenne mich mit Signalisierungsprozessen aus. :) Ich war auf der Suche nach einer spezifischeren Lösung, da screendiese komplexer zu sein scheint als die alltäglichen Prozesse, bei denen man von einer Shell ausgeht und nur ^Ctötet. Außerdem ist die screenfragliche Kopie von setuid root (einige sind es, und es ist für den Mehrbenutzermodus erforderlich), so dass andere möglicherweise nicht in der Lage sind, killden Prozess einfach auszuführen.
Blacklight Shining

1
Bei allem Respekt, während Ihre Antwort technisch nicht hilfreich war, hat es mich inspiriert einige Signale , um zu versuchen, und ich fand , dass der Hintergrund Sendet SCREENProzess eine SIGTERM scheint es zu veranlassen , anmutig zu verlassen. Der Socket wurde entfernt /var/run/screen/S-blackl, die Sitzung wurde nicht mehr angezeigt screen -ls, und Versuche, eine erneute Verbindung herzustellen, führten zu einem Fehler , dass die Sitzung nicht übereinstimmte. Wenn ich dies mit einer in einem anderen Fenster geöffneten Testsitzung verwendete, erschien das Übliche [screen is terminating]und das Terminal kehrte zu einer normalen Eingabeaufforderung zurück. Es funktionierte auch für die gesperrte Sitzung.
Blacklight Shining

Ich hatte keine Ahnung von deinem Beitrag, dass du es wusstest. Ich glaube, ich habe in der Vergangenheit zu viel Teil-Helldesk-Arbeit geleistet. (Die Standardannahme für mich ist, dass ein Benutzer völlig ahnungslos ist). Kein gesunder Geisteszustand.
Hennes

Ich verstehe… In solchen Kontexten ist es oft schwer zu sagen, wie viel ein bestimmter Benutzer weiß und ob er etwas Einfaches verstehen würde („send the SCREENprocess a SIGTERM“) oder ob Sie es näher erläutern müssten. :) Auf jeden Fall eine Lösung für dieses Problem scheint zu SIGTERMden Hintergrundprozess ing (das, das zeigt sich in psmit SCREENin allen Kappen und die Argumente verwendet , um die Sitzung zu erstellen). Dies funktioniert jedoch nur, wenn der Benutzer den Prozess besitzt (dh screennicht als root festgelegt ist) oder wenn er sudo killsich als root anmelden oder verwenden kann .
Blacklight Shining

1

Dieses Problem trat auch auf, als ich den Sperrbildschirm zum ersten Mal ausprobierte.

Sie können dieses Problem lösen, indem Sie folgende Schritte ausführen:

kill [session # you want to kill] 

oder

 sudo kill [session # you want to kill]

Zum Beispiel:

neal@Master:~$ screen -ls
There is a screen on:
        2782.pts-0.Master       (廿十七年二月八日 十九時廿六分十九秒)   (Detached)
1 Socket in /var/run/screen/S-neal.

das ist verschlossen und ich habe das passwd vergessen. Also führe ich den folgenden Befehl aus, um diesen abgetrennten Bildschirm zu beenden.

kill 2782

Hoffe das könnte dein Problem lösen!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.