Avatar billede dsj Nybegynder
20. august 2003 - 23:37 Der er 13 kommentarer og
1 løsning

Problem med shutdown-hook

Jeg har lige i min server fået den til at registre følgende shutdown-hook:

    Runnable r = new Runnable() {
      public void run() {
        manager.stop(); 
      }
    };
    Runtime.getRuntime().addShutdownHook(new Thread(r));

manager.stop() er præcis den samme metode som køres hvis serveren lukkes (slutter med System.exit(0)) ned via konsollen efter princippet:

    server.Main -stop

I sidstnævnte tilfælde går alt godt. Alle tråde lukkes ned og er ikke længere at finde som processer i OS (Linux).

Men hvis jeg sender et terminate-signal som så aktiverer shutdown-hooken, går det galt. manager.stop() bliver kørt og alle processer lukkes ned som normalt (kan jeg se i logfilen - alle tråde udskriver en sidste linie inden de dør), men de er stadig at finde i OS, som om de befinder sig i en zombie-tilstand - og der bliver de liggende.

Hvad går der lige galt !?
Avatar billede arne_v Ekspert
21. august 2003 - 11:11 #1
Hm.

Det lyder mest som en fejl i JVM implementation for mig.

Hvis JVM'en starter nogle proceser skal den også stopp dem igen.

Der er nogle sun.misc klasser du kune prøve i.s.f. hvis du bruger
SUN JVM på Linux.

Læs mere her:
  http://www.javaspecialists.co.za/archive/Issue043.html

Jeg kender iøvrigt en del som foretrækker IBM JVM på Linux.
Avatar billede arne_v Ekspert
21. august 2003 - 11:12 #2
http://www-106.ibm.com/developerworks/java/jdk/

hvis du skulle have løst til at prøve.
Avatar billede dsj Nybegynder
21. august 2003 - 11:50 #3
Ved du hvorfor IBM's jvm foretrækkes?
Avatar billede arne_v Ekspert
21. august 2003 - 12:01 #4
Færre fejl og bedre performance. Så vidt jeg ved.
Avatar billede dsj Nybegynder
21. august 2003 - 12:54 #5
Hvis det er tilfældet er det jo en pokkers go grund - ved du om der er noget dokumentation for disse påstande?
Avatar billede arne_v Ekspert
21. august 2003 - 13:41 #6
Ikke noget utevtyidgt.

Du kan sammenligne SUN, IBM og Blackdown her:
  http://www.volano.com/report/
Avatar billede arne_v Ekspert
21. august 2003 - 13:42 #7
utevtyidgt = utvetydigt
Avatar billede arne_v Ekspert
07. september 2003 - 22:25 #8
Har du prøvet med IBM ?
Avatar billede dsj Nybegynder
07. september 2003 - 22:45 #9
Nej, jeg har ikke haft mulighed for at prøve det endnu... men du kan dumpe et svar hvis du vil ha point for den kodemæssigt korrekte besvarelse :)
Avatar billede arne_v Ekspert
07. september 2003 - 22:52 #10
Jeg ved ikke rigtigt om jeg reelt har svaret på spørgsmålet, men ...
Avatar billede dsj Nybegynder
07. september 2003 - 22:56 #11
Næh det er faktisk rigtigt, jeg tænkte på at dette er et andet spørgsmål, som du også har svaret og også fået point for. Egentlig er jeg ret træt...
Avatar billede arne_v Ekspert
07. september 2003 - 23:04 #12
Pas på med at kode for meget når du er træt.

Ofte skal det meste laves om igen senere.

:-(
Avatar billede dsj Nybegynder
07. september 2003 - 23:10 #13
Jeg koder skam ikke lige nu, prøver blot at samle op på mine mange aktive spørgsmål ... :)
Avatar billede dsj Nybegynder
28. september 2003 - 13:31 #14
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester