Назад | Перейти на главную страницу

Java, Eclipse: как приостановить работающую программу?

Я выполняю некоторые вычисления на своем Linux-компьютере и не могу позволить себе работать от батареи, пока еду домой. Для этого требуется сетевое соединение, и в настоящее время я запускаю этот материал по беспроводному соединению. Добравшись до дома, мне нужно подключить кабель Ethernet, чтобы выйти в Интернет.

Я никогда не делал этого раньше, но хочу «возобновить» вычисления после того, как вернусь домой. Для этого я думаю, что мне следует приостановить программу eclipse (которую, по-видимому, я не запускал с терминала, так как мне ее приостановить?), Перевести систему в режим ожидания. Затем выведите систему из режима ожидания, подключите кабель Ethernet, получите новый IP-адрес, затем возобновите eclipse. Я предполагаю, что это сработает.

У кого-нибудь есть лучший подход?

Поскольку вы упомянули, что используете Linux, вы можете использовать команду kill с аргументами -STOP и -CONT, возможно, более подходящим вариантом будет приостановка и возобновление процесса.

Сначала откройте терминал и получите PID, используя

ps aux

Тогда беги

kill -STOP pid

где pid - это PID вашего Java-процесса.

Чтобы возобновить, запустите

kill -CONT pid

Краткое руководство здесь: http://tombuntu.com/index.php/2007/11/23/how-to-pause-a-linux-process

Другой способ - запустить вашу программу в режиме отладки в Eclipse и приостановить ее в представлении отладки. Однако работа в режиме отладки приведет к резкому снижению производительности.

Обратите внимание, что сетевое соединение в вашей программе, вероятно, потребуется повторно открыть (либо из-за изменения сети, либо из-за того, что ваше соединение закрывается из-за тайм-аута на другой стороне), поэтому вам придется закодировать некоторую логику для обнаружения сброшенного сетевое соединение и переподключитесь.

Вероятно, вы можете сделать это, запустив Jconsole.exe, который находится в каталоге Jre bin. Внутри там есть способ отправить паузу "Операция" наверное ...