Sto eseguendo il debug di una perdita di memoria in un'applicazione in esecuzione su Sun's JDK 1.4.2_18. Sembra che questa versione supporti la riga di comando param -XX: + HeapDumpOnCtrlBreak che presumibilmente fa sì che JVM esegua il dump dell'heap quando incontra un control-break. Come si invia questo a un processo in background su una macchina Linux? Sembra che i segnali di uccisione siano il modo in cui dovrebbe funzionare, ma io uccido -l non riporta nulla che sia ovviamente un Ctrl-Break, almeno sulla mia scatola Ubuntu.Come si può inviare un Ctrl-Break a un processo Linux in esecuzione?
Aggiornamento: Ho testato Kill -3 con Sun JDK 1.4.2_18 (_14 è stato il primo a eseguire il dump dello heap in questo modo) e ha funzionato. Un file di dump dell'heap è stato creato e il processo era ancora in esecuzione.
Non ho una finestra Linux con una jvm che supporti l'opzione -XX: + HeapDumpOnCtrlBreak, quindi non posso testarla (e non l'ho mai effettivamente fatta in modo non posso garantire che funzioni). – bm212
Preferisco vedere un suggerimento di "kill -QUIT" piuttosto che "kill -3", anche se sono equivalenti. – ephemient
L'ho modificato per dire kill -QUIT. – bm212