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