Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Linux Kill killt nicht

Mitglied: lexa-lexa

lexa-lexa (Level 1) - Jetzt verbinden

16.02.2020 um 18:19 Uhr, 564 Aufrufe, 6 Kommentare, 2 Danke

Hi,
ich lese überall, dass der Befehl "kill -9 <pid>" sofort, gnadenlos und *immer* den Prozess mit der angegebenen PID beendet.
Leider nicht auf meinem Ubuntu 14.04 LTS, aktueller Patch Stand (auf einer virtueller Maschine im MS Azure, falls das wichtig ist).

Ich verbinde mich via SSH auf den Server und führe als erstes Kommando tmux aus.
Im tmux starte ich dann mc (Midnight Commander)
Der bleibt aber ab und an mal hängen (und lässt sich dann nicht ein weiteres Mal starten, nur das Fenster friert dann ein, also mache ich das nicht mehr)
Nun kann ich mit CTRL+B+SHIFT+& die tmux Session beenden, was auch klappt, aber da wird der gestartete mc nicht mitgenommen. Auch ein exit und re-connect via SSH hilft da nicht.

Diesen mc will ich nun killen, damit ich ihn wieder verwenden kann:

  1. pgrep mc (oder auch ps aux | grep mc)
<pid-vom-mc>

Nun killen:
  1. kill -9 <pid-vom-mc>

mc läuft immer noch. pgrep, ps und pstree sagen nun, dass der mc immer noch läuft

Weiss jemand, was hier schief geht könnte bzw. in welchen Fällen "kill -9" eben doch nicht *immer* killt?
Oder probiert kill über einen längeren Zeitraum zu killen? Davon habe ich aber bisher noch nichts gehört.

Hat jemand eine Erklärung? Ich muss sonst immer den Server neu starten. Das geht zwar sehr schnell, sollte aber eher in der Windows Welt anzutreffen sein
Mitglied: SeaStorm
16.02.2020 um 19:01 Uhr
ist -9 bei dir wirklich -TERM ?

Was passiert wenn du den prozess straced ?

Mach mal

strace -Tttf -o strace.out -p PID &
kill -TERM PID
Bitte warten ..
Mitglied: LordGurke
16.02.2020 um 20:53 Uhr
Das kann verschiedene Ursachen haben:

1) Du versuchst einen Prozess zu killen, der nicht dir gehört. Führst du den "kill" auch mit Root-Rechten aus?

2) "kill" ist bei manchen Distributionen in der Bash integriert und hat dann teilweise komische Einschränkungen. Versuche es mal explizit mit "/bin/kill" - das verhindert, dass das Bash-Integrierte "kill" ausgeführt wird sondern das echte.

3) Wenn der Prozess auf I/O wartet (das kann eine Datei sein, aber auch Geräte oder STDIO) kann man ihn nicht herkömmlich unterbrechen, weil der Kernel ihn aufgrund der wartenden File-Handles künstlich am Leben erhält. Es muss dann erst dieser I/O-Vorgang abgeschlossen werden, bis der Prozess wirklich getötet wird.
Das lässt sich manchmal (nicht immer) umgehen, indem man den Prozess mit SIGSEGV wegtötet. Damit wird dem Kernel signalisiert, dass der Prozess einen Segfault verursacht hätte und sowas kann meistens auch wartende I/O-Anforderungen ebenfalls töten.
Probiere mal "/bin/kill -s SIGSEGV $(pidof mc)" - auch hier wieder mit explizitem Aufruf der Binary.
Bitte warten ..
Mitglied: lexa-lexa
17.02.2020 um 20:17 Uhr
Zitat von SeaStorm:

ist -9 bei dir wirklich -TERM ?

Will ich -TERM? Ich will doch -KILL. Laut kill -l ist das -9 (-SIGKILL)

Was passiert wenn du den prozess straced ?

strace -Tttf -o strace.out -p PID & kill -TERM PID

Erklär bitte mal kurz, warum das was bringen könnte bzw. was das anders macht als kill -9 <pid>
Bitte warten ..
Mitglied: SeaStorm
17.02.2020 um 20:22 Uhr
meine ich doch

macht nix anderes ... naja ausser halt term statt sigkill, aber es geht um die trace-datei. In der kannst du sehen was im Prozess passiert wenn du ihn killen willst und damit wahrscheinlich auch den Grund, warum du ihn nicht killen kannst
Bitte warten ..
Mitglied: lexa-lexa
17.02.2020 um 20:53 Uhr
Zitat von LordGurke:
1) Du versuchst einen Prozess zu killen, der nicht dir gehört. Führst du den "kill" auch mit Root-Rechten aus?

Nein, ich starte tmux und mc und kill. Ich könnte das sudo-en, sehe aber die Notwendigkeit nicht. Es kommt ja auch keine Zugriffsfehler Meldung vom kill.

2) "kill" ist bei manchen Distributionen in der Bash integriert ...

  1. which kill
  2. /bin/kill

3) Wenn der Prozess auf I/O wartet ...

Das könnte tatsächlich eine heisse Spur sein, da ich nach dem Start des mc noch ein entferntes Dateisystem mittels sshfs (fusermount) einbinde.

Probiere mal "/bin/kill -s SIGSEGV $(pidof mc)" - auch hier wieder mit explizitem Aufruf der Binary.

Hat leider nichts gebracht:
Ups, während ich das schreibe, ca. 10 Minuten später, hat sich die Console von selbst geschlossen und in einer neuen SSH Sitzung war tatsächlich kein mc mehr da. Das müßte aber schneller gehen.

Ich werde das Dateisystem zukünftig VOR dem Start des mc einbinden, mal schauen...

Danke erstmal für den Tipp

PS: Ich muss nun erst mal nachlesen, was die Spalten "FD" und "TYPE" bei lsof bedeutet. mc hat da "txt" und "REG" stehen. Seit wann hat Linux eine Registry
Bitte warten ..
Mitglied: lexa-lexa
17.02.2020 um 21:04 Uhr
Zitat von SeaStorm:

es geht um die trace-datei. In der kannst du sehen was im Prozess passiert wenn du ihn killen willst und damit wahrscheinlich auch den Grund, warum du ihn nicht killen kannst

Ach so

Da der mc sich nicht killen läßt, mußte ich strace mittels STRG+C beenden, das ist das Ergebnis:

Kann man da was erkennen?
Bitte warten ..
Ähnliche Inhalte
Linux Netzwerk
Linux OpenVPN Kill Switch
Frage von FingersLinux Netzwerk10 Kommentare

Moin ich nutze Linux Mint 19 (Debian) davor hatte ich Manjaro im Einsatz . Ich würde mir gerne einen ...

Router & Routing
VPN Kill Switch Hilfe
Frage von Thomasr61Router & Routing6 Kommentare

Hallo Folgende Situation: Fritzbox zur Versorgung von IpTV,WLAN usw Hinter der FritzBox ein Router mit DDWRT der als VPN ...

Windows 10
KB4515384 killt das Startmenü
gelöst Frage von DerWoWussteWindows 1028 Kommentare

Moin Kollegen. Das kumulative Update für September, welches Win10 v1903 auf Build 18362.356 bringt, killte hier bei 4 von ...

Viren und Trojaner
"Hacker" killt Google und Edge
Frage von Herbrich19Viren und Trojaner2 Kommentare

Hallo, Jedes mal wenn ich in meinen Google Chrome, Edge oder sonstigen Browser eine Seite Aufrufe wo das Keyword ...

Neue Wissensbeiträge
Off Topic
3D-Drucker gegen Corona - helft mit!
Information von DerWoWusste vor 7 StundenOff Topic12 Kommentare

Unter vorigem Link sind Anleitungen, wie man sich mit seinem 3D-Drucker an der Produktion (Druck) von Bauteilen für Atemmasken ...

Instant Messaging

Die Kommunikations-App Zoom kommt aus der Kritik so schnell nicht mehr raus

Information von Frank vor 8 StundenInstant Messaging4 Kommentare

Ich würde Zoom ja gerne nutzen (das Featureset ist ziemlich gut) aber irgendwie hinterlassen die ganzen Nachrichten einen faden ...

Off Topic
Die Känguru-Chroniken - ab April im Streaming
Information von Frank vor 1 TagOff Topic2 Kommentare

Die Corona-Krise hat auch die Kinos zum Stillstand gebracht. Daher gehen einige Verleiher neue Wege und stellen ihre Filme ...

Windows Server

Update KB4541329 (März 2020) und Windows Server 2016 RDS 1609 Probleme

Information von System-Fehler vor 2 TagenWindows Server1 Kommentar

Hallo, hier zur Info und eventuelle Hilfe: Wir hatten folgende Fehler: Windows 2016 Datacenter 1609, hier als RDS Dienste ...

Heiß diskutierte Inhalte
Batch & Shell
Alle Dateien eines Typs in Unterordnern in ein anderes Verzeichnis kopieren, aber so, dass sie in einem einzigen Unterverzeichnis liegen
Frage von Julia1989Batch & Shell17 Kommentare

Hallo, ich habe folgendes Problem: Ich habe viele *.php dateien, diese liegen in jeweils verschiedenen Unternordnern also C:\PfadZumOberverzeichnis\{A bis ...

Internet Domänen
Subdomain auf subdomain bzw. dyndns mit port weiterleiten?
Frage von DynlaraBartisInternet Domänen15 Kommentare

hey ich habe einen server bei mir mit proxmox auf diesem habe ich vm´s im heimnetz habe ich eine ...

Windows 10
Über Remotedesktopverbindung erkennen, ob Monitor angeschaltet ist
Frage von Tomac84Windows 1013 Kommentare

Hallo Zusammen, Auf Grund der Krise arbeite ich vom Home Office aus. Ich melde mich per Remotedesktopverbindung an meinen ...

Off Topic
3D-Drucker gegen Corona - helft mit!
Information von DerWoWussteOff Topic12 Kommentare

Unter vorigem Link sind Anleitungen, wie man sich mit seinem 3D-Drucker an der Produktion (Druck) von Bauteilen für Atemmasken ...