2009-05-15 9 views
26

Sembra che in Eclipse, se si desidera inviare ctrl + c a un processo non è possibile. Il pulsante di chiusura sulla console uccide solo il processo in esecuzione senza eseguire i ganci di arresto. So che java non consente di inviare un segnale a un altro processo.'Exiting' (ctrl + c) un processo dalla console - Eclipse vs Intellij

Tuttavia sembra che l'idea di intellij abbia un pulsante "exit" accanto al pulsante "stop" che consente l'esecuzione di hook di shutdown.

Qualcuno può dirmi come intellij fa questo?

Ho bisogno di inviare ctrl + c dal mio programma a un altro processo java.

+1

Non conoscevo il pulsante "uscita". +1 – Shadoninja

risposta

1

È a mia conoscenza che ciò accade solo su Windows con Eclipse. vedi anche: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

Per quanto basta verificare le proprie ganci è possibile farlo chiamando System.exit() e quindi suppongo che gli utenti non potranno eseguire l'applicazione con Eclipse quindi è ok per contare su di esso lavorare per loro .

4

Intellij utilizza una libreria nativa per inviare un segnale su Windows e il comando kill su Unix.
Here is a source code

Ha detto che non è possibile inviare un segnale in Java. Quindi è necessario eseguire il codice nativo.
Look at the question here

Problemi correlati