Optionen zum Befehl kill

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Optionen zum Befehl kill

Beitrag von Duff » 19.11.2007 11:12:54

Hallo,

habe mal eine Frage zum Befehl kill.

Mich würden mal die ganzen Optionen/Parameter von kill interessieren. Habe mir zwar mal die man-page dazu angeschaut, aber so ganz ist mir das noch nicht klar.

Wenn ich unter solaris ein kill -3 auf einen Prozess mache, wird nämlich ein Logfile mit DEBUG-Informationen für diesen Prozess angelegt.
Oh, yeah!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 19.11.2007 12:48:24

Da normale kill ist eine shell Funktion:

Code: Alles auswählen

$ type kill
kill is a shell builtin
Wenn du das "richtige" kill benutzen willst, dann so:

Code: Alles auswählen

/bin/kill ...
Die Signale sind hier beschrieben:

Code: Alles auswählen

man 7 signal

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 20.11.2007 10:08:31

Danke für die Antwort.

Aber wirklich mehr sagt mir das

Code: Alles auswählen

man 7 signal 
auch nicht.
Oh, yeah!

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 20.11.2007 11:51:05

Was möchtest du denn jetzt genau wissen bzw. welche Fragen sind denn jetzt noch offen geblieben?

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 21.11.2007 16:20:52

Danielx hat geschrieben:Was möchtest du denn jetzt genau wissen bzw. welche Fragen sind denn jetzt noch offen geblieben?
Was passiert nun z.B. genau bei einem kill -3 pid?

Unter sun solaris wird dann z.B. für den Prozess ein Logfile mit irgendwelchen Infos angelegt.
Oh, yeah!

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 21.11.2007 17:37:58

Meines Wissens gibt es einige Signale, bei denen das Verhalten fest vorgegeben ist (KILL, TERM z.B.). Bei anderen Signalen hängt es dann vom OS ab, wie die damit umgehen bzw. nur vom jeweiligen Programm.
Dein SIGQUIT z.B. an ein einen ping-Prozess gesendet bewirkt, dass ping seine Statistikdaten ausgibt, ohne den Prozess zu beenden.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 21.11.2007 18:00:01

nepos hat geschrieben:Meines Wissens gibt es einige Signale, bei denen das Verhalten fest vorgegeben ist (KILL, TERM z.B.). Bei anderen Signalen hängt es dann vom OS ab, wie die damit umgehen bzw. nur vom jeweiligen Programm.
Dein SIGQUIT z.B. an ein einen ping-Prozess gesendet bewirkt, dass ping seine Statistikdaten ausgibt, ohne den Prozess zu beenden.
Sorry, aber kannst du das mit Beispiel mit dem SIGQUIT und dem ping mal etwas genauer aufführen?
Danke.
Oh, yeah!

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 22.11.2007 01:34:39

Bei SIGQUIT hängt es vom Programm ab, was es damit anfängt bzw. ob es das Signal gar ignoriert.

Beispiel:
$ ping http://www.debianforum.de
PING http://www.debianforum.de (78.47.201.130) 56(84) bytes of data.
64 bytes from leela.debianforum.de (78.47.201.130): icmp_seq=1 ttl=57 time=62.7 ms
64 bytes from leela.debianforum.de (78.47.201.130): icmp_seq=2 ttl=57 time=63.7 ms
64 bytes from leela.debianforum.de (78.47.201.130): icmp_seq=3 ttl=57 time=62.5 ms
3/3 packets, 0% loss, min/avg/ewma/max = 62.541/63.011/62.803/63.789 ms
64 bytes from leela.debianforum.de (78.47.201.130): icmp_seq=4 ttl=57 time=62.0 ms
64 bytes from leela.debianforum.de (78.47.201.130): icmp_seq=5 ttl=57 time=63.3 ms
Nach einem "kill -3 pid_von_ping" wurde die Statistikzeile (von mir hervorgehoben) ausgegeben.

Gruß,
Daniel

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.11.2007 10:22:12

Irgendwie finde ich diese ganzen Optionen/Details nicht in der oben aufgeführten man-page so deutlich.
Oh, yeah!

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Beitrag von Saxman » 23.11.2007 10:31:06

Code: Alles auswählen

man signal
zeigt doch alles


Unter anderem:

Code: Alles auswählen

       Signal     Value     Action   Comment
       -------------------------------------------------------------------------
       SIGHUP        1       Term    Hangup detected on controlling terminal
                                     or death of controlling process
       SIGINT        2       Term    Interrupt from keyboard
       SIGQUIT       3       Core    Quit from keyboard
       SIGILL        4       Core    Illegal Instruction
       SIGABRT       6       Core    Abort signal from abort(3)
       SIGFPE        8       Core    Floating point exception
       SIGKILL       9       Term    Kill signal
       SIGSEGV      11       Core    Invalid memory reference
       SIGPIPE      13       Term    Broken pipe: write to pipe with no readers

       SIGALRM      14       Term    Timer signal from alarm(2)
       SIGTERM      15       Term    Termination signal
       SIGUSR1   30,10,16    Term    User-defined signal 1
       SIGUSR2   31,12,17    Term    User-defined signal 2
       SIGCHLD   20,17,18    Ign     Child stopped or terminated
       SIGCONT   19,18,25    Cont    Continue if stopped
       SIGSTOP   17,19,23    Stop    Stop process
       SIGTSTP   18,20,24    Stop    Stop typed at tty
       SIGTTIN   21,21,26    Stop    tty input for background process
       SIGTTOU   22,22,27    Stop    tty output for background process
Schönen Gruß

/Edit
Und wenn du speziell auf die Interpretation der signale von einigen Programmen hinauswillst, das findest du in der Regel in deren manpages..

tor z.B interpretiert ein SIGHUP als neuladen der Konfigurationsdatei..
Das steht dann eben in der manpage von tor
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 23.11.2007 15:44:17

SIGKILL und SIGSTOP sind übrigens die einzigen Signale, welche von einem Programm nicht abgefangen oder ignoriert werden können.

Gruß,
Daniel

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.11.2007 15:49:22

Ich müsste mir jetzt nur noch mal die Verwendung bzw. Benutzung der Befehle anschauen und wie man sie genau aufrufen muss.

...meine dass dazu was in meinem Shellprogrammierung Buch vom galileo-Verlag stand...
Oh, yeah!

Antworten