Нет. JVM - виртуальная машина Java - это исполняемый файл, который запускает вашу Java-программу. daemon - это любая программа, которая запускается без привязки к определенному терминалу, например, oh launchd.
Итак, рассмотрите возможность запуска java-программы из командной строки: файл jar - это myapp.jar, и вы набираете
$ java -jar myapp.jar
Запускает исполняемую программу по пути /usr/bin/java
, которая является обычной программой. Это просто тот, который включает в себя интерпретатор для Java-инструкций, "java virtual machine ". Он запускает и имитирует эту специальную абстрактную Java-машину и работает до тех пор, пока все нормальные потоки Java-программы не завершатся. Затем он возвращает код возврата и завершает работу. Поскольку этот java-процесс был запущен оболочкой, он является дочерней программой оболочки, и оболочка получает уведомление о завершении.
Теперь можно написать программу, например, на C, которая создает процесс, не принадлежащий оболочке; его родитель становится процессом с идентификатором процесса 1, который в большинстве систем UNIX называется init (1) или launchd в Mac OS / X. Процесс, принадлежащий PID 1, выполняется до тех пор, пока он не будет остановлен командой shutdown или завершится сам (или завершится сбоем).
Эти процессы называются демонами в честь более чем человеческих духов в греческой мифологии. Их так называют, потому что (а) это милое имя; (б) они обладают «сверхъестественными способностями» по сравнению с обычной пользовательской программой; и (c) хакеры старого времени, такие как милые имена.