Programme im Terminal beenden OHNE KILL

Status
Für weitere Antworten geschlossen.
MacBarfuss

MacBarfuss

Aktives Mitglied
Thread Starter
Dabei seit
25.03.2004
Beiträge
1.022
Reaktionspunkte
22
Hi!

Es gibt Programme, die es tatsächlich nicht mögen, wenn man sie killt. :cool:

Existiert ein Terminalbefehl um einen regulären Beenden-Befehl an ein Programm zu senden?
Beim herunterfahren sendet OS X den Befhel ja an alle offenen Programme, es muss in also eigentlich geben. Kann man den als User auch verwenden?
 
Zum Glück wurde eine GUI erfunden^^
 
Naja kommt aufs Programm an. Manche reagieren zb auf stop (Deamons) oder so wie man es auch von Linux her kennt. Um was geht es denn genau?
 
@Kajover:

danke für den Konstruktiven Beitrag!

Dann kannst du mir bestimmt erklären, wie ich VPN einwandfrei zum laufen bekomme, welche Apps, Einstelungen … damit ich meinen G4 als Server einsetzen kann ohne Monitor und Eingabehardware dran zu stöpseln, weil ich keinen Bock hab auf 2 Tastaturen und 2 Mäuse und 2 Monitoren oder umstecken. :motz:

@Ischi:

Azureus!
Wie verwendet man "stop" oder was gäbe es von Linuxseite her noch?
 
Zuletzt bearbeitet:
Hi!

Es gibt Programme, die es tatsächlich nicht mögen, wenn man sie killt. :cool:

Existiert ein Terminalbefehl um einen regulären Beenden-Befehl an ein Programm zu senden?
Beim herunterfahren sendet OS X den Befhel ja an alle offenen Programme, es muss in also eigentlich geben. Kann man den als User auch verwenden?

Folgende Signale kannst du mal versuchen:

kill -SIGTERM <pid>
kill -SIGHUP <pid>

SIGKILL ist ja zum Töten :p

-> Liste mti UNIX-Signalen: http://www.tech-faq.com/unix-signals.shtml

SIGHUP klingt irgendwie gar nicht schlecht für dein Vorhaben, eine VPN-Verbindung "ordnungsgemäß" zu beenden?
 
Wenn es sowas gibt dann steht das normal in der Man-Page vom Programm. Ich hatte angenommen es handelt sich um einen Deamon alla samba oä auf welche man alla samba [start | stop | restart | status] zugreifft.
Was hat den Azureus dagegen wenn man ihn einfach killt? Im endefekt ist ja ein kill nichts anderes wie ein beenden, deswegen frag ich.
MFG

Welchen VPN verwendest du? Bei Cisco heisst der Befehl zb vpnclient disconnect zum verbindungs trennen (dannach kann man den Prozess killen oder eben net, ist egal weil er macht ja nix mehr).
 
es gibt nur einen wahren befehl "killall -9 <name>" ;)
Btw .. was glaubste denn was an die Programme beim Herunterfahren geschickt wird .. ;)
 
Viele Anwendungen sollten sich mit

osascript -e 'tell application "<Name des Programms>" to quit'

beenden lassen ("quit" gehört zur "geschenkten" AppleScript-Standardfunktionalität). Ob Deine darunter ist, weiss ich natürlich nicht.
 
okay, ein paar Erläuterungen:

VPN habe ich vorhin eingeworfen, weil das ein mit Kanonen auf Spatzen schießen ist. Ich will einfach nur Azureus beenden ohne Manitor anzuschließen. Deswegen greife ich per ssh auf den G4 zu. Ich könnte Azureus killen, keine Frage. Aber beim neu starten gibt er mir (wenn ich dann einen Monitor dran hab) die Meldung "did not shutdown tiedily" oder so ähnlich. Beim schnellen Beenden des Osses macht er das nicht. Ist auch sinnvoll ein Programm das Downloads im Speicher hält nicht einfach abzuschießen, will den Kram ja nicht 5 mal laden. (Nebenbei: legal, OpenSource Software, ProoBox z.B.)

Das mit den Signalen ist schonmal kein schlechter Ansatz, jetzt muss ich nur noch die PID automatisch auslesen … *grmpf*

Aber danke schonmal für die konstruktiven Beiträge.
 
SIGTERM ist das Standard-Signal, das durch die Befehle kill oder killall an Prozesse gesendet werden kann. SIGTERM leitet die Terminierung eines Prozesses ein, aber anders als das SIGKILL-Signal kann es vom Prozess angenommen und anschließend wahlweise interpretiert oder ignoriert werden.

Das ist die Wiki Erklaerung fuer SIGTERM und macht den Unterschied deutlich
 
Beim Herunterfahren von Linux wird zunächst an alle Prozesse ein SIGTERM gesendet und anschließend für die übriggebliebenen ein SIGKILL. So sollte es auch beim Mac sein, denke ich. Also ist kill -SIGTERM <pid> Dein Freund!
 
danke Leute, soweit passt das jetzt!

Aber wie kann ich den Prozess ansprechen, wenn ich die PID nicht habe und nicht in TOP oder PS nachschauen will?
 
du muss dir ein script schreiben, das die pid abfragt
 
Manche Programme legen unter /var/run eine Datei mit der PID ab. Ansonsten: ps ax | grep <progname> schneller gehts doch kaum.
 
Alternativ sollte auch killall -TERM <procname> funktionieren. Siehe man killall.
 
Zuletzt bearbeitet:
Okay, der Sieger steht fest!

MacMole ist mein Held des Tages!

Das war wohl einer der hilfreichsten Einstiegsbeiträge, die hier im Forum bislang geschrieben wurden!

Vielen Dank noch und Herzlich Willkommen im Forum!
 
:) Freut mich wenn ich helfen konnte.

Danke für das nette Willkommen :cake:
 
killall wurde ja schon genannt ;)
 
Stimmt. Sorry, ich hatte den Beitrag übersehen (aber gleich -9 :confused: )

Das Willkommen hat mich aber trotzdem gefreut :)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten