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

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

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

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

2 ответа

Решение

Поскольку вы упомянули, что используете 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. Внутри есть способ отправить паузу "Операция", наверное...

Другие вопросы по тегам