Java, Eclipse: Como faço para pausar um programa em execução?

2

Estou executando alguns cálculos na minha caixa do Linux e não posso realmente carregá-los na bateria enquanto dirijo para casa. Requer uma conexão de rede e atualmente estou executando essas coisas em uma conexão sem fio. Depois de chegar em casa, preciso conectar um cabo ethernet para acessar a Internet.

Eu nunca fiz isso antes, mas quero "retomar" a computação depois de chegar em casa. Para isso, estou pensando que eu deveria suspender o programa eclipse (que aparentemente eu não iniciei a partir de um terminal, então, como o suspenderia?), Coloque o sistema em modo de espera. Em seguida, tire o sistema do modo de espera, conecte o cabo Ethernet, obtenha um novo endereço IP e retome o eclipse. Eu estou supondo que vai funcionar.

Alguém tem uma abordagem melhor?

    
por Legend 14.11.2009 / 01:21

2 respostas

3

Como você mencionou que está executando o Linux, é possível usar o comando kill com os argumentos -STOP e -CONT, que podem ser uma opção mais apropriada para pausar e retomar o processo.

Primeiro, abra um terminal e obtenha o PID usando

ps aux

Em seguida, execute

kill -STOP pid

em que pid é o PID do seu processo Java.

Para continuar, execute

kill -CONT pid

Breve tutorial aqui: link

Outro método seria executar seu programa no modo de depuração no Eclipse e pausá-lo na visualização Depuração. No entanto, a execução no modo de depuração acarretará um desempenho ruim.

Note que a conexão de rede em seu programa provavelmente precisará ser reaberta (seja devido a mudanças nas redes ou devido a sua conexão ser fechada devido ao tempo limite no outro lado), então você terá que codificar alguma lógica para detectar uma conexão de rede perdida e reconectar.

    
por 14.11.2009 / 02:33
0

Você provavelmente pode fazê-lo executando o Jconsole.exe que está incluído no diretório bin do Jre. Lá dentro, há uma maneira de enviar uma pausa "Operação" provavelmente ...

    
por 14.11.2009 / 02:01