Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [java] Runtime.getRuntime

    Ciao a tutti,
    Ho un problema di questo tipo:
    dovrei monitorare un determinato processo di windows es.wrun32.exe,
    per far ciò volevo usare il comando dos
    "tlist -m wrun32.exe >C:\processo.txt" che mi dice se il processo in questione è attivo oppure no e mi butta la risposta in processo.txt.
    il comando dos ho cercato di eseguirlo con Runtime.getRuntime().exec("il mio comando dos");
    purtroppo però non riesco a fare tutto ciò perchè non riesco a passargli i parametri -m ecc...
    Allora ho provato a mettere tutto in un file batch e funziona, ma ,siccome il controllo lo faccio ogni 10 secondi e non riesco in alcun modo a chiudere il processo dos lanciato perchè il riferimento è sul batch e non sul comando, a fine giornata ho 500Mb ram occupati.
    Volevo sapere se c'è un modo per monitorare i processi di windows direttamente da java(la cosa migliore) o se c'è qualche api che mi permetta di farlo oppure se è possibile lanciare il comando dos con i relativi parametri.
    Grazie.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,307
    Per lanciare un comando con i relativi parametri è necessario definire un array di stringhe:
    codice:
    String [] comando = {"nomecomando", "primo parametro", ... , "ultimo parametro"};
    Runtime.getRuntime().exec(comando);
    PS: Che comando è tlist che non l'ho mai sentito nominare in nessuna versione DOS dalla 3 ad oggi? (Sarà un programma di qualcuno)


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Originariamente inviato da LeleFT
    PS: Che comando è tlist che non l'ho mai sentito nominare in nessuna versione DOS dalla 3 ad oggi? (Sarà un programma di qualcuno)
    [/B]
    tlist.exe è un'eseguibile che scrive a console l'elenco dei processi attivi ( un po' come ps in linux).
    In XP si può usare il comando TaskList.
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  4. #4
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Originariamente inviato da Corwin
    tlist.exe è un'eseguibile che scrive a console l'elenco dei processi attivi ( un po' come ps in linux).
    In XP si può usare il comando TaskList.
    [OT]
    Ma quante cose si imparano su sto forum???
    Sopratutto andandosi a leggere i 3d degli altri!!
    MITICO!!!
    [/OT]
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  5. #5
    OK, ho provato anche con l'array di stringhe ma sembra non funzionare, forse perchè cerco di ridirigere l'output su un file di testo e questo non è un parametro di tlist ma bensi un'altro comando dos.
    Come faccio a ridirigere l'output del comando o sul file o sul programma?
    Anche se la cosa migliore sarebbe la gestione dei processi direttamente da java, sapete se esiste un comando java che mi da l'elenco dei processi su una macchina windows?
    Grazie a tutti per l'aiuto.

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,307
    Purtroppo in questo non ti posso aiutare... ho provato anch'io ad effettuare la ridirezione dell'output di un comando DOS da Java, senza successo.

    Una possibile soluzione potrebbe essere quella di scrivere un programma, per esempio in C, oppure un file BATCH che esegua il tuo comando e, successivamente, richiamare tale file da Java...

    Originariamente inviato da Corwin
    tlist.exe è un'eseguibile che scrive a console l'elenco dei processi attivi ( un po' come ps in linux).
    In XP si può usare il comando TaskList
    Sarà un comando di Win2000 o WinXP Pro... io ho WinXP Home e non esistono questi comandi (né il primo, né il secondo)...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    peccato mi sarebbe stato davvero utile un comando del genere anche perchè purtroppo se eseguo il comando tramite un file batch poi non ho la possibilità di eliminare dalla memoria il comando eseguito.
    Comunque l'eseguibile "tlist" di cui chiedevi è nel cd di win2000 e lo devi installare a parte.
    Nel cd di winXp dovrebbe esserci un comando tasklist.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.