Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [JAVA] Proces kill ;)

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347

    [JAVA] Proces kill ;)

    Buonasera a tutti...
    avrei la seguente domanda da porvi:
    se io lancio un processo, per esempio il notepad, da un determinato thread di tipo GUI (un bottone su una JFrame) e viene fatto un kill (o dalla x o dal taskManager) di questo'ultimo (cioè del JFrame), come posso uccidere anche il processo figlio? (o meglio il notepad? o meglio ancora il processo da lui lanciato?)

    ringrazio e saluto
    nh

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Proces kill ;)

    Originariamente inviato da newhook
    se io lancio un processo, per esempio il notepad, da un determinato thread di tipo GUI (un bottone su una JFrame) e viene fatto un kill (o dalla x o dal taskManager) di questo'ultimo (cioè del JFrame), come posso uccidere anche il processo figlio? (o meglio il notepad? o meglio ancora il processo da lui lanciato?)
    Alt, precisiamo un po' di cose.
    Se da Java lanci un processo con exec(), la exec è immediata e il tuo codice successivo continua subito. Solo se tu volessi, potresti attendere la fine del processo lanciato con waitFor().

    Se lanci notepad ed esso termina (naturalmente o malamente/brutalmente che sia) tu non puoi da Java sapere il motivo (cosa ha causato la terminazione) .... ma puoi solo appunto attenderne la terminazione con waitFor().
    Dall'altro lato, se il tuo programma Java termina, non termina in automatico il processo lanciato. Ma se vuoi, avendo tenuto il Process da qualche parte, puoi ovviamente terminare tu il processo appena prima di terminare la applicazione Java.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    perfetto...pensavo una cosa del genere...
    che ne dici di una lista di processi (pensavo a livello di singleton) che vengono ciclati e killati (destroy()) quando viene chiusa la gui.
    Singleton perchè questa lista deve essere la stessa per tutta la vita dell'applicazioni...
    attendo altri consigli e/o migliorie
    thanx

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da newhook
    che ne dici di una lista di processi (pensavo a livello di singleton) che vengono ciclati e killati (destroy()) quando viene chiusa la gui.
    Singleton perchè questa lista deve essere la stessa per tutta la vita dell'applicazioni...
    attendo altri consigli e/o migliorie
    Sì, direi che va bene.
    A livello di utilizzo una cosa del tipo es.:

    ProcessManager.getInstance().run(".......");

    poi quando vorrai terminare tutto:

    ProcessManager.getInstance().killAll();

    E gestisci tutto internamente a ProcessManager (la lista, exec, destroy).


    E ricordo ovviamente che destroy() è molto "brutale".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    figo
    thanx

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    E ricordo ovviamente che destroy() è molto "brutale".

    che problema c'è?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da newhook
    che problema c'è?
    Beh, dipende ovviamente da cosa sta facendo in quel momento (del kill) il processo lanciato.
    Scenario: se lanci un word processor che ha attivato l'auto-save ogni tot e tu fai il kill nel momento in cui lui sta salvando il file .... quasi certamente il documento sarà corrotto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    perfetto, capito!
    thanx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.