[ Gelöst ] Ist das Programm xyz abgestürzt?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

[ Gelöst ] Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 28.12.2014 19:03:26

Hallo zusammen!

Ich habe da ein kleines Problem.
MC stürzt ab oder hängt sich auf, würde aber trotzdem gerne wissen, ob es wirklich hängt oder er gerade zu beschäftigt ist.

kann man das irgendwie herausfinden?

Oder anders gefragt:
Wo kann ich die Signale für den jeweiligen Prozess herausfinden?

Viele Grüße und frohes Neues! :)
Zuletzt geändert von Inkodiktus am 29.12.2014 12:01:16, insgesamt 1-mal geändert.
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

thoerb
Beiträge: 1687
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Ist das Programm xyz abgestürzt?

Beitrag von thoerb » 28.12.2014 19:12:25

Mit top kann man sich die laufenden Prozesse ansehen.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 28.12.2014 19:39:12

thoerb hat geschrieben:Mit top kann man sich die laufenden Prozesse ansehen.
Schöööön!
Das hat mich aber nicht weiter gebracht.
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

DeletedUserReAsG

Re: Ist das Programm xyz abgestürzt?

Beitrag von DeletedUserReAsG » 28.12.2014 19:47:18

Definiere „Absturz“ und jemand kann dir sagen, ob es eine zuverlässige Möglichkeit gibt, das festzustellen. In den meisten Fällen wird die Antwort allerdings „nein, gibt es nicht“ sein, solange der Prozess in der Ausgabe von top als laufend angezeigt wird.

JuergenPB

Re: Ist das Programm xyz abgestürzt?

Beitrag von JuergenPB » 28.12.2014 19:48:10

thoerb hat geschrieben:Mit top kann man sich die laufenden Prozesse ansehen.
Alternativ

Code: Alles auswählen

$ ps -A

Wenn das Programm wirklich "abstürzt", dann ruf es mal mit einem Debugger auf
gdb mc
Dann mir „run“ starten.
Dafür solltest Du allerdings das Debug-Paket Debianmc-dbg des Programms installieren.
Dann kannst Du ggf. eine sinnvolle Fehlermeldung melden

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 28.12.2014 20:11:35

Hier nochmal, vielleicht haben noch nicht alle verstanden ^^
Wo kann ich die Signale für den jeweiligen Prozess herausfinden?
Signale? Also so etwas wie SIGTERM oder SIGKILL usw.
Wo kann ich das von jeweiligem Prozess ablesen?

Oder ich bin blind und dumm und sehe die Signal Nummern bzw. die Bezeichnungen bei ps bzw. top nicht.
Macht dann ein Bild und zeigt es mir mit roten Pfeil. :D

Ansonsten vielen Dank für die Hilfe, aber grabt tiefer rein. :mrgreen:
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

DeletedUserReAsG

Re: Ist das Programm xyz abgestürzt?

Beitrag von DeletedUserReAsG » 28.12.2014 20:13:30

Vielleicht hast du’s noch nicht verstanden: was du möchtest, ist nicht möglich. Ich verzichte mal darauf, das nun fett zu schreiben – fett kommt immer so aufdringlich rüber.

Meinst du nicht auch, dass wenn ein Programm selbst erkennen würde, dass es abgestürzt ist (anders könnte es das von dir gewünschte „Signal“ ja nicht generieren), es dann auch selbst etwas dagegen unternehmen könnte?

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 28.12.2014 20:21:05

niemand hat geschrieben:Vielleicht hast du’s noch nicht verstanden: was du möchtest, ist nicht möglich. Ich verzichte mal darauf, das nun fett zu schreiben – fett kommt immer so aufdringlich rüber.

Meinst du nicht auch, dass wenn ein Programm selbst erkennen würde, dass es abgestürzt ist (anders könnte es das von dir gewünschte „Signal“ ja nicht generieren), es dann auch selbst etwas dagegen unternehmen könnte?
Ich schreib immer fett, wenn ich merke, dass die Leute mich nicht verstanden haben. :)
Ist auch total frustrierend, wenn ich von Äpfel rede und sie mir Bananen anbieten. ;)

Warum hängen sich die Programme auf und unternehmen nichts dagegen? :D

Sonst, wenn das Ablesen nicht möglich ist, dann frage ich mich, wozu man so viele Signale braucht?
Fürs killen braucht man eh nur 9 oder 15. :)
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

DeletedUserReAsG

Re: Ist das Programm xyz abgestürzt?

Beitrag von DeletedUserReAsG » 28.12.2014 20:45:46

Sonst, wenn das Ablesen nicht möglich ist, dann frage ich mich, wozu man so viele Signale braucht?
Wenn du z.B. dd ein USR1 schickst, gibt es dir den derzeitigen Status aus. Wenn es dir aber nicht gleich was ausgibt, heißt das nicht zwangsläufig, dass es sich aufgehängt hätte – nur, dass es gerade keine Zeit hat, sofort drauf zu reagieren. Was selbstverständlich daran liegen kann, dass es sich aufgehängt hat – aber eben nicht daran liegen muss.

Allerdings muss der Programmierer für solche Spielereien die Auswertung der Signale implementiert haben – das ist keine Vorschrift. Immerhin geht’s um freie Software.

Warum hängen sich die Programme auf und unternehmen nichts dagegen?
Möglicherweise, weil’s sich aufgehängt hat? Wenn’s was dagegen tun könnte, hätte es sich nicht aufgehängt …

http://unixhelp.ed.ac.uk/CGI/man-cgi?signal+7 – letztlich ist’s nur eine (alte) Möglichkeit, mit laufenden Programmen zu kommunizieren.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 28.12.2014 21:58:31

Kann ich denn in C was coden, damit mir es den Signal zurückgibt oder wofür ist der header signal.h ?
Oder ist das eher was zum senden und nicht zum anzeigen?
dd ein USR1 schickst, gibt es dir den derzeitigen Status aus.
Und wie mache ich das ganz genau?
kill ist doch eher zum "killen"
trap fürs zwischenschalten, mehr kenne ich grad nicht.

Allerdings muss der Programmierer für solche Spielereien die Auswertung der Signale implementiert haben – das ist keine Vorschrift. Immerhin geht’s um freie Software.
Ich kann auch einem Script sagen, er soll mir Text ausgeben, wenn ich ihn z.B. mit 15 kille.
Aber das ist dann kein Anzeigen, eher Abfragen, wobei ich dann alles durchgehen müsste. ^^
Und wenn er jetzt hängt, wird er mir auch nicht sagen können, dass er hängt. :)
Echt paradox. :mrgreen:
Möglicherweise, weil’s sich aufgehängt hat? Wenn’s was dagegen tun könnte, hätte es sich nicht aufgehängt
Er hat sich aufgehängt, weil er dagegen nichts tun konnte. :D

Kurz zu MC zurück, es liegt so 100%-ig nicht am MC.
Man kann das aber auch allgemein behandeln, weil das Thema auch ziemlich interessant ist.

Abschließend finde ich es etwas blöd, dass man die Signale nicht sehen kann. Auch wenn alle als Laufend angezeigt sein würden, manche dann eben nicht.

Kann ich denn sonst irgendwie, ohne die Signalnummer, feststellen, ob mit dem Programm alles gut läuft?
Jetzt außer z.b. in htop zu gucken, dass er gerade läuft, kann man da wenig feststellen, wenn er 0.0 als Wert hat.
Oder haben dann die abgestürzten Programme eine andere Nummer? Außer 100, die ja auffällt.

Ansonsten vielen Dank! :THX:
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

DeletedUserReAsG

Re: Ist das Programm xyz abgestürzt?

Beitrag von DeletedUserReAsG » 28.12.2014 22:24:24

Kann ich denn in C was coden, damit mir es den Signal zurückgibt oder wofür ist der header signal.h ?
Oder ist das eher was zum senden und nicht zum anzeigen?
Zum Senden, ja. Bis auf 9 ist es dem Programm überlassen, was es daraus macht.
Und wie mache ich das ganz genau?
kill ist doch eher zum "killen"
Etwa kill -USR1 [PID von dd]
Die Manpage hat geschrieben:

Code: Alles auswählen

DESCRIPTION
       The  command  kill sends the specified signal to the specified processes or process groups.  If no signal is specified, the TERM signal is sent.  This TERM signal
       will kill processes that do not catch it; for other processes it may be necessary to use the KILL signal (number 9), since this signal cannot be caught.
Und wenn er jetzt hängt, wird er mir auch nicht sagen können, dass er hängt.
Ah, du hast es erkannt.
Abschließend finde ich es etwas blöd, dass man die Signale nicht sehen kann. Auch wenn alle als Laufend angezeigt sein würden, manche dann eben nicht.
Angenommen, ein Programm hängt in einer Endlosschleife (eine der häufigeren Ursachen für „hängt, rührt sich nicht mehr, ist abgestürzt“) – von außen weiß ohne Weiteres keiner, was das Programm macht und daher kann keiner sagen „des ist nun gerade in ‘ner Endlosschleife, signalisieren wir dem User das mal“. Das Programm selbst kommt aus seiner Schleife nicht raus, und kann dir erst recht nichts schicken.
Oder haben dann die abgestürzten Programme eine andere Nummer? Außer 100, die ja auffällt.
Lass’ es eine Endlosschleife sein, die immer wieder irgendwas abfragt, vergleicht, wasauchimmer, und bei jedem Durchgang ’ne Sekunde schläft – du kannst es nicht nutzen, 100% CPU-Last hat’s aber auch nicht – „abgestürzt“ ist’s trotzdem. Im Gegensatz dazu lass’ ein Programm ausgelastet sein – es reagiert nicht, hat 100% Last, wird aber wieder ansprechbar sein, wenn’s fertig ist – und du es nicht vorher gekillt hast, weil’s abgestürzt aussieht.
Kann ich denn sonst irgendwie, ohne die Signalnummer, feststellen, ob mit dem Programm alles gut läuft?
Die Möglichkeit mit ’nem Debugger steht ja weiter oben schon. Damit kenne ich persönlich mich nicht aus, bei Interesse wird JuergenPB dir möglicherweise weiterhelfen können.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 28.12.2014 22:40:19

Etwa kill -USR1 [PID von dd]
Ganz blöde Frage, was ist dd?

Ich kenn ja dd, nur wie soll mir ein Programm sagen, welchen Signal er nun hat?
Mach mal ein Beispiel bitte oder ist dd nur ein Beispiel für die PID?
Leicht verwirrt.
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

DeletedUserReAsG

Re: Ist das Programm xyz abgestürzt?

Beitrag von DeletedUserReAsG » 28.12.2014 22:48:45

Shell 1:

Code: Alles auswählen

niemand@arch_T400:~$ dd if=/dev/urandom of=delme.rnd
Shell 2:

Code: Alles auswählen

niemand@arch_T400:~$ killall -USR1 dd
Shell 1:

Code: Alles auswählen

260637+0 Datensätze ein
260636+0 Datensätze aus
133445632 Bytes (133 MB) kopiert, 9,24532 s, 14,4 MB/s
Shell 2:

Code: Alles auswählen

niemand@arch_T400:~$ killall -SIGINT dd
Shell 1:

Code: Alles auswählen

441699+0 Datensätze ein
441698+0 Datensätze aus
226149376 Bytes (226 MB) kopiert, 15,5112 s, 14,6 MB/s

** 130 (SIGINT) **
niemand@arch_T400:~$ 

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Ist das Programm xyz abgestürzt?

Beitrag von rendegast » 28.12.2014 23:25:08

Du könntest Dich mit
'strace [-f] -p PID'
an den Prozeß hängen.
Filterung (siehe man-page, doku, www)
hat Auswirkungen auf Performance von System/beobachteten Prozess(e).


Ein hängender Prozeß zeigt sich zBsp. daran,
daß entweder kein oder unpassender Output erzeugt wird.
Unpassend wäre bei einem interaktiven Prozeß wie mc
zBsp. überhaupt Output ohne eine veranlassende Aktion getätigt zu haben.


Ich denke, mc ist ein sehr gut durchgetestetes Program.
Daher Abstürze vielleicht durch RAM oder andere Hardware?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Ist das Programm xyz abgestürzt?

Beitrag von Inkodiktus » 29.12.2014 00:32:05

441699+0 Datensätze ein
441698+0 Datensätze aus
226149376 Bytes (226 MB) kopiert, 15,5112 s, 14,6 MB/s

** 130 (SIGINT) **
niemand@arch_T400:~$
Erst mal, besten Dank für die Mühe! :THX:

So wie ich das sehe, ist dd das einzige Programm, dass bei STRG + C bzw. SIGINIT eine Signalmeldung rausgibt. :)
Das bringt mich eigentlich in dem Thema nicht weiter, wenn er nur SIGINIT abgreift. :)
Und wenn ich Signalnummer 11 nehme, dan kriege ich Speicherzugriffsfehler 8O
Trotzdem kann ich mit kill eben nur "killen" und nicht anzeigen.
Aber nochmals danke, das hat mich gedanklich weitergebracht!




Ich habe strace -p pid an dd angewandt ^^
Was zu knabber? :D

Code: Alles auswählen

read(0, "q\313\210.k\337A\206me\360C\344Qc\300\347mb\351\374\2531eZ\320K\2764ta,"..., 512) = 512
write(1, "q\313\210.k\337A\206me\360C\344Qc\300\347mb\351\374\2531eZ\320K\2764ta,"..., 512) = 512
read(0, "\30\22r\266\312\226\221\202Qc\4\6\305\16\10R!7v\35\27\311\346\374\251\257\23D\320\335\352D"..., 512) = 512
write(1, "\30\22r\266\312\226\221\202Qc\4\6\305\16\10R!7v\35\27\311\346\374\251\257\23D\320\335\352D"..., 512) = 512
read(0, "\350\33\206\244\335\214\264T\216\365\317\21\6w\332z\262\21\177L\301\272\370\256:\"\3119\235\251%\20"..., 512) = 512
write(1, "\350\33\206\244\335\214\264T\216\365\317\21\6w\332z\262\21\177L\301\272\370\256:\"\3119\235\251%\20"..., 512) = 512
read(0, "\0\320R\254\224\237T!\33fN\351P\v\177\200Q\2673\242]E'\254? \17U\302+\307\361"..., 512) = 512
write(1, "\0\320R\254\224\237T!\33fN\351P\v\177\200Q\2673\242]E'\254? \17U\302+\307\361"..., 512) = 512
read(0, "\24\16\203\346g\211l\264\24y<@\10\vl\372\264\307\373\270\24w\367p\341\336\214\335a\21\363Z"..., 512) = 512
write(1, "\24\16\203\346g\211l\264\24y<@\10\vl\372\264\307\373\270\24w\367p\341\336\214\335a\21\363Z"..., 512) = 512
read(0, "\325\355\1\177\305,\213\261C\17\r\30\0270\340\357\376z\t\262m@\33'\350&X\345\241\35\343\363"..., 512) = 512
write(1, "\325\355\1\177\305,\213\261C\17\r\30\0270\340\357\376z\t\262m@\33'\350&X\345\241\35\343\363"..., 512) = 512
read(0, "\221\33I\315\33\372\373\27\277a\31\241\260\333\374\215\0\351\21\315\230\233;\274\272\340\213/\246\273_\231"..., 512) = 512
write(1, "\221\33I\315\33\372\373\27\277a\31\241\260\333\374\215\0\351\21\315\230\233;\274\272\340\213/\246\273_\231"..., 512) = 512
read(0, "=u\240c\3766E\267\254\377\255\220\360\255\312\367!\32Y\233\376\330\246\330\307\252a\330\213\345\363P"..., 512) = 512
write(1, "=u\240c\3766E\267\254\377\255\220\360\255\312\367!\32Y\233\376\330\246\330\307\252a\330\213\345\363P"..., 512) = 512
read(0, "*\16\315\254\254\270\25\356\260UPN\301\276\304\266\352\214T\237L\307\353\335fL/Lf\241\257\347"..., 512) = 512
write(1, "*\16\315\254\254\270\25\356\260UPN\301\276\304\266\352\214T\237L\307\353\335fL/Lf\241\257\347"..., 512) = 512
read(0, "+\277.\35\202\234\210p$;\230,C\303\343\374`X\217K\r\252\nZ\274G\331\22\304we,"..., 512) = 512
write(1, "+\277.\35\202\234\210p$;\230,C\303\343\374`X\217K\r\252\nZ\274G\331\22\304we,"..., 512) = 512
read(0, "\373\222\376\247\377\371E\24\351\255\253{\205i\27\351\3732\321\36\271\236\177\260\25\265\0\30_\360\277\327"..., 512) = 512
write(1, "\373\222\376\247\377\371E\24\351\255\253{\205i\27\351\3732\321\36\271\236\177\260\25\265\0\30_\360\277\327"..., 512) = 512
read(0, "c\276\270g;\277\316U\220\f\367\241\0lw\324\357\223\323.\311\360\371R\353H\4G\227>\211\261"..., 512) = 512
write(1, "c\276\270g;\277\316U\220\f\367\241\0lw\324\357\223\323.\311\360\371R\353H\4G\227>\211\261"..., 512) = 512
read(0, "$V/G\342\334m\226\221w\363\2254\220\322\225\7D\363J\7\372\265\274:_\34y\370\224\353]"..., 512) = 512
write(1, "$V/G\342\334m\226\221w\363\2254\220\322\225\7D\363J\7\372\265\274:_\34y\370\224\353]"..., 512) = 512
read(0, "ff\10\333Qf % \315h\227_\246N\371\230\271\0\337\27\362\2dj\26\351\366\350\364\256\4"..., 512) = 512
write(1, "ff\10\333Qf % \315h\227_\246N\371\230\271\0\337\27\362\2dj\26\351\366\350\364\256\4"..., 512) = 512
read(0, "\266\335\214\225\34\\\272nDU\221\376\3610Gk\330\343 \235)\264\324* \370a\214D\345\333J"..., 512) = 512
write(1, "\266\335\214\225\34\\\272nDU\221\376\3610Gk\330\343 \235)\264\324* \370a\214D\345\333J"..., 512) = 512
read(0, "\266Rc\347\275\7:\10\0223\241\23\200\356\374\343\246F\30\377\32\343\206\263t\6\5\226\23\201\375\235"..., 512) = 512
write(1, "\266Rc\347\275\7:\10\0223\241\23\200\356\374\343\246F\30\377\32\343\206\263t\6\5\226\23\201\375\235"..., 512) = 512
read(0, "\335\21\20f\354\354;\313\272\375\341\214\223\367\f2\356*\354\230\370\252cA4\252D\212$\26Z\360"..., 512) = 512
write(1, "\335\21\20f\354\354;\313\272\375\341\214\223\367\f2\356*\354\230\370\252cA4\252D\212$\26Z\360"..., 512) = 512
read(0, "\3\314\275\352?\250\323(y\200\201\266\316\311\210\316\317\361\302\0276\217\241\273\235Q\253(\212\316\342b"..., 512) = 512
write(1, "\3\314\275\352?\250\323(y\200\201\266\316\311\210\316\317\361\302\0276\217\241\273\235Q\253(\212\316\342b"..., 512) = 512
read(0, "\1\365\266y\f_sd\247\265S\2471\254\254v\250r\0266M\202x\333@H\214\346\276\367\304^"..., 512) = 512
write(1, "\1\365\266y\f_sd\247\265S\2471\254\254v\250r\0266M\202x\333@H\214\346\276\367\304^"..., 512) = 512
read(0, "\342fwH\220\2730\f\24|eP\313\202p\206\216\320\214u{\"\272\216\252\27fE\311\222h\370"..., 512) = 512
write(1, "\342fwH\220\2730\f\24|eP\313\202p\206\216\320\214u{\"\272\216\252\27fE\311\222h\370"..., 512) = 512
So weit ich das weiß, hängt sich strace an die genannte PID ran, aber sagt nicht, welchen Signal er folgt.

Ich denke, die Antwort auf meine Frage lautet einfach Nein.
Killen oder zwischenschieben ist auch nicht das gewünschte Ergebnis.

Danke für die Antworten! :THX:
Viele Grüße!
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

DeletedUserReAsG

Re: Ist das Programm xyz abgestürzt?

Beitrag von DeletedUserReAsG » 29.12.2014 08:10:58

Aber nochmals danke, das hat mich gedanklich weitergebracht!
Nochmal kurz in Klartext: mit kill sendest du dem Programm ein Signal. Es gibt keinen Rückkanal – das dd im Beispiel gibt auf USR1 einfach seinen Status nach stdout aus.
Ich denke, die Antwort auf meine Frage lautet einfach Nein.
Was irgendwie auch schon im Klartext hier geschrieben wurde – es gibt kein „Signal“ »Hallo, ich hänge fest«. Du kannst nur das Verhalten des Programms beobachten (ob’s auf gesendete Signale reagiert, via Debugger, via strace, via IPC [sofern vorhanden], …) und dir selbst überlegen, wie hoch die Wahrscheinlichkeit dafür ist.

Antworten