如何解决Mac OS X-守护程序和jvm之间是什么关系
|| 据我了解,在Mac OS X上,后台驻留程序是在后台运行的(与Windows Service相同)。我是否可以通过说用Java编写的dameon被视为JVM来建立守护程序之间的连接?我读了一些有关守护程序线程和jvm线程的文章,它们之间有什么关系?解决方法
否。JVM(Java虚拟机)是运行Java程序的可执行文件。守护程序是任何运行时未附加到特定终端(例如,已启动)的程序。
因此,请考虑从命令行运行Java程序:jar文件为myapp.jar,然后键入
$ java -jar myapp.jar
这将在路径“ 1”处启动一个可执行程序,这只是一个常规程序。它恰好是其中包含Java指令的解释程序“ Java虚拟机”。它运行并模拟该特殊的抽象Java机器,并一直运行到Java程序的所有正常线程终止为止。然后,它返回一个返回码并结束。由于该Java进程是由Shell启动的,因此它是Shell的子程序,并且Shell会返回已完成的通知。
现在,可以编写一个程序(例如,用C语言编写),该程序创建的过程不属于外壳程序;它的父级成为进程ID为1的进程,在大多数UNIX系统上称为init(1),或者在Mac OS / X上启动。 PID 1所拥有的进程将一直运行,直到该进程被关闭命令停止或自身终止(或崩溃)为止。
这些过程在希腊神话中以超越人类的精神被称为守护程序。之所以这样称呼他们是因为(a)这是一个可爱的名字; (b)与普通用户程序相比,它们具有“超自然力量”; (c)老式黑客喜欢可爱的名字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。