Что такое nohup в Windows?
Я хочу запустить файл Java jar следующим образом:
java -jar spider.jar
Как запустить его в фоновом режиме в Windows?
Подобно этому в Linux:
nohup java -jar spider.jar > /var/tmp/spider.log 2>&1 &
Ответы
Ответ 1
В Windows это ненормально, что процесс завершается, как только его родитель был убит (например, Unix-нравится делать это обычно). Поэтому нет никакой непосредственной необходимости в чем-то вроде nohup
. Если вы хотите избежать связанного с ним окна консоли, вы можете использовать javaw
, но перенаправление не будет работать.
Ответ 2
Вы можете использовать команду Windows start
:
start /min java -jar spider.jar
Эта команда не совсем такая же, как nohup
; но это может быть удобно, если вы довольны процессом Java, запущенным в отдельном свернутом окне. См. http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx
Ответ 3
Единственный способ получить поведение nohup, когда процесс по-прежнему выполняется после выхода из системы (например, для микросервисов, аналитических инструментов, серверных заданий и т.д.), заключается в запуске файла .bat с содержимым start javaw -jar ...
как услугу или запланированную задачу.