• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Wie hartnäckig hängenden Prozess beenden?

Zille

Wohlschmecker aus Vierlanden
Registriert
30.01.06
Beiträge
237
Hallo!

Ich gehe hier zu Haus per Handy und BT online. Nun passiert es manchmal, dass sich das Modem aufhängt. D.h. dass der Prozess pppd wenn man im Terminal nachschaut als hängend (Hand Up) gemeldet wird. Nun kann ich aber diesen Prozess weder mit kill, noch mit sudo kill -9 beenden und ein Systemneustart geht auch nicht, weil das MBP wegen dieses Prozesses dann komplett im Shutwdownvorgang hängen bleibt. Es hilft also nur immer ein Hardcorereset (5 Sekunden Schalter drücken). Nun ist mir das aber auf Dauer zu hart für meinen Mac. Welche Möglichkeit gibts denn noch solch hartnäckig hängende Prozesse zu beenden?
 

mauermer

Querina
Registriert
07.09.05
Beiträge
185
Hast Du schon mal über "Aktivitätsanzeige" probiert?
Prozessname anklicken, Prozess beenden, ggf. Sofort beenden anklicken.
Sollte klappen.
Viel Erfolg!
 

Zille

Wohlschmecker aus Vierlanden
Registriert
30.01.06
Beiträge
237
Nein, den Weg hab ich noch nicht probiert. Wäre aber mal einen Versuch wert.
Was ich mich nur frage ist, warum sich der Prozess nicht über den Terminal beenden lässt. Es muss doch noch einen Weg über die Befehlszeile geben, oder? Also an alle, die sich mit dem Terminal gut auskennen: welchen Weg gäbe es denn hier noch?
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.497
sudo kill -KILL [PID]
soll angeblich den Prozess mit der entsprechenden PID gnadenlos beenden, mit allen Risiken fürs Dateisystem.
Die PID bekommt man aus der Aktivitätsanzeige.
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
Hast Du schon mal über "Aktivitätsanzeige" probiert?
Prozessname anklicken, Prozess beenden, ggf. Sofort beenden anklicken.
Sollte klappen.
Viel Erfolg!
Die Aktivitätsanzeige kann bestimmt mehr als der Systemcall.. *hust*


sudo kill -KILL [PID]
soll angeblich den Prozess mit der entsprechenden PID gnadenlos beenden, mit allen Risiken fürs Dateisystem.
Die PID bekommt man aus der Aktivitätsanzeige.
$ man kill ... mein Freund. -KILL == -9
Danke. Tschüss. ;)
 

Zille

Wohlschmecker aus Vierlanden
Registriert
30.01.06
Beiträge
237
Danke für deine Anwort MacAlzenau. Aber genau das hab ich ja gemacht, da tut sich aber rein gar nichts. Und das wundert mich. Deshalb hab ichs sogar mit sudo kill -9 <PID> gemacht. Aber auch damit gehts nicht. Deswegen frage ich ja nach Alternativen. Wie gesagt hängt der Prozess dermaßen fest, dass man das MBP nicht mal mehr neu starten kann, sondern es abwürgen muss. Und das will ich nicht zweimal die Woche machen müssen.
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
Was sagt denn $ ps aux zu dem Prozess wenn er mit -9 nicht abgeschossen werden kann?
 

Zille

Wohlschmecker aus Vierlanden
Registriert
30.01.06
Beiträge
237
Was sagt denn $ ps aux zu dem Prozess wenn er mit -9 nicht abgeschossen werden kann?
Kann ich dir erst sagen, wenns mal wieder hängt. ;) Aber danke für deine Antworten. Hast offenbar einiges an Erfahrung und Wissen mit dem Terminal. Deshalb für dich der Tipp für ein kleines Tool namens Bwana. Damit kannst du dir die Man-Pages augenfreundlich in Safari ankucken. Und Verweise sind verlinkt.
... es wundert mich nur, dass der Prozess wenn er hängt gleich so dermaßen klemmt...
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.497
Danke für deine Anwort MacAlzenau. Aber genau das hab ich ja gemacht, da tut sich aber rein gar nichts. Und das wundert mich. Deshalb hab ichs sogar mit sudo kill -9 <PID> gemacht. Aber auch damit gehts nicht. Deswegen frage ich ja nach Alternativen. Wie gesagt hängt der Prozess dermaßen fest, dass man das MBP nicht mal mehr neu starten kann, sondern es abwürgen muss. Und das will ich nicht zweimal die Woche machen müssen.
Daß -9 dem -KILL als Option entspricht, wusste ich nicht.
War bei mir zum Glück noch nie nötig (bzw. wenn es Ärger gab, lies sich das Terminal gar nicht mehr starten).
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.497
Die Aktivitätsanzeige kann bestimmt mehr als der Systemcall.. *hust*
Nach meinen (zum Glück spärlichen) Erfahrungen rentiert sich schon, verschiedene Wege zu probieren, auch wenn sie alle auf dem gleichen Prozess beruhen.
Ich habe es auf einem Normaluser-Account seit 10.5 gelegentlich nicht geschafft, einen Prozess via Aktivitätsanzeige zu beenden - "sofort beenden" konnte man anklicken, dann geschah aber nichts - aber über die Menüleistenfunktion "Sofort beenden" hat es geklappt.
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
BTW: Prozesse direkt mit dem KILL-Signal abwürgen ist nicht immer das Beste. So bleiben Dateiforks und ähnliches offen und das kann an anderen Stellen nervig und hakelig werden.

Man sollte erst TERM, dann INT, dann HUP und dann erst KILL probieren.
Ich habe das in meiner .profile-Datei mit einem Script automatisiert:
Code:
cyclekill () {
  PID=$(ps -Ac | grep $1 | awk '{print $1}')
  RETVAL=0
  for signal in "TERM" "INT" "HUP" "KILL"; do
    kill -$signal $PID
    RETVAL=$?
    [ $RETVAL -eq 0 ] && break
    echo "warning: kill failed: pid=$PID, signal=$signal" >&2
    sleep 1
  done
  return $RETVAL
}

Jetzt kann man einfach in der Konsole eingeben: "cyclekill $PROGRAMMNAME" und schon wird das alles durchprobiert.
Wenn "KILL" in Deinem Fall sowieso nicht hilft, dann könnte das hier auch chancenlos sein, aber es ist allgemein eine bessere Idee, die Reihenfolge einzuhalten.

@mauermer:
Das Programm "kill" und die Aktivitätsanzeige benutzen beide genau den gleichen Systemaufruf. Wenn "kill" es nicht schafft, dann gibt es keine guten Gründe, aus denen die Aktivitätsanzeige das schaffen sollte. (Wie irgendein Held schon sagte.)
 

Zille

Wohlschmecker aus Vierlanden
Registriert
30.01.06
Beiträge
237
pppd ist ja dafür zuständig:
PPP is the protocol used for establishing internet links over dial-up
modems, DSL connections, and many other types of point-to-point links.
The pppd daemon works together with the kernel PPP driver to establish
and maintain a PPP link with another system (called the peer) and to
negotiate Internet Protocol (IP) addresses for each end of the link.
Pppd can also authenticate the peer and/or supply authentication infor-
mation to the peer. PPP can be used with other network protocols
besides IP, but such use is becoming increasingly rare.
Nur: wie kann der so saumäßig hartnäckig hängen? Das Problem tritt manchmal beim Trennen und machnmal beim Verbinden auf... Übrigens geht auch ein reboot -q nicht...
 

Zille

Wohlschmecker aus Vierlanden
Registriert
30.01.06
Beiträge
237
@tfc Danke für das Skript. Werds beim nächsten Auftreten des Problems mal probieren. Hoffentlich gehts...