[JAVA] Ctrl-c / program break afhandelen?

Pagina: 1
Acties:

  • LEiPiE
  • Registratie: Juni 2001
  • Laatst online: 24-08 10:10

LEiPiE

... (ing. van weinig woorden)

Topicstarter
FF niet echt de tijd om er diep in te gaan spitten en op zich ook geen noodzaak, maar weet iemand of de volgende situatie af te vangen is in Java?

start een tooltje van uit een dosbox: java Tooltje
tooltje opent z'n eigen GUI, stel daar wat dingen in en laat 'm z'n werk doen.
Debugmeldingen vliegen door de DOS box heen en bedenk me "holy }:O dit gaat fout" en ram op Ctrl-C (in de DOSbox dus). Allemaal leuk en aardig, maar om dat ik een logfile niet heb laten afsluiten staan daar de laatste logregels niet in (worden elke 25 regels geflushed, als ik dus op 24 regels afbreek dan mis ik die laatste 24 dus).

Fijnste zou zijn dat ik dus voordat met Ctrl-C alles wordt afgeknald nog ff een method kan uitvoeren om alles te sluiten enzo.

Papa x3, PHP-progger, Citrofiel, import-Tukker, muziekliefhebber


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Runtime.addShutdownHook(Thread) is waarschijnlijk wat jij nodig hebt :) .

Check the API docs voor uitleg. Het staat er erg duidelijk :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Ctrl-C kun je niet afvangen, dat is net als Ctrl-Alt-Delete een DOS-toetscombinatie. Gewoon flushen per regel dus :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Gewoon zou je je finallize kunnen overriden bij je object, maar in dit geval word de vm gewoon gekilled :`( zonder dat hij netjes alles kan afronden. Denk niet dat je er iets aan kan doen.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Stiekem toch wel dus ;) .
The Java virtual machine shuts down in response to two kinds of events:

* The program exits normally, when the last non-daemon thread exits or when the exit (equivalently, System.exit) method is invoked, or

* The virtual machine is terminated in response to a user interrupt, such as typing ^C, or a system-wide event, such as user logoff or system shutdown.

A shutdown hook is simply an initialized but unstarted thread. When the virtual machine begins its shutdown sequence it will start all registered shutdown hooks in some unspecified order and let them run concurrently. When all the hooks have finished it will then run all uninvoked finalizers if finalization-on-exit has been enabled. Finally, the virtual machine will halt.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Als control c niet meteen de vm killt dan zou het wel met zo`n Runtime.addShutdownHook kunnen. Maar als ik mijn java applicaties gewoon kil (proces killen) dan kan ik niets meer voor het arme schaapje doen :) De finalize word ook niet meer aangeroepen (check het maar met een System.out)
Pagina: 1