许多工程设计已经加入守护进程使得守护进程在日常的开发中变得更加健壮,透明和不起眼.无论如何,守护进程偶尔也会损坏或者枯竭.一个Gradle构建执行源自多个来源的任意代码.即使Gradle本身与守护进程的设计是经过严格的测试的,但是用户的构建脚本,或第三方插件可以通过诸如内存泄露,或腐化全局声明等缺陷来动摇守护进程.
守护进程会在闲置3小时后自动终止.如果想在这之前停止守护进程,也可以通过操作系统运行gradle --stop命令终止后台进程.--stop选项会要求所有运行相同版本的守护进程终止.
如果需求构建环境没有指定最大堆内存,守护进程会使用多达1G的堆内存.它将会使用默认的JVM的最小堆内存.1G内存足够应付大多数构建.有数百个子项的构建,大量配置或者源码需求,或者要求有更好的表现,则需要更多地内存为了提高守护进程可以使用的内存,指定相应的标志作为需求构建环境的一部分,请参见Chapter 20. The Build Environment的详细信息.
一般Gradle守护进程默认不启用.然而,一旦它被启用,有事希望对某些项目或某些构建禁用守护进程.--no-daemon命令行选项可用于强制守护进程不能用于该构建.这很少使用,但是在调试具有一定的构建或Gradle插件问题时,有时会很有用.在构建环境中,此命令行选项具有最高优先级.
在使用Gradle命令行接口时,--daemon和--no-daemon命令行选项调用在单个构建时选择启用或禁用后台守护进程.通常,允许后台守护进程在一个环境中(例如一个用户账户)更为方便,可以使所有构建使用守护进程,而不需要记住--daemon开关.有两种推荐的方式使守护进程持续与环境:通过环境变量 - 给GRADLE_OPTS环境变量添加-Dorg.gradle.daemon=true标识通过属性文件 - 给<<
维基百科中守护进程的解释守护进程是一个运行后台进程, 非交互式用户直接控制的在计算机程序Gradle 守护进程是一个后台进程,它运行着繁重的构建, 然后在构建等待下一次构建的之间保持自身存在. 这使得数据和代码在下一次构建前已经准备好,并存入内存中. 这显著的提高了后续构建的性能. 启用Gradle守护进程是一种节约构建时间的廉价方式.
NodeJS 可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得 NodeJS 可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用。本章除了介绍与之相关的 NodeJS 内置模块外,还会重点介绍典型的使用场景。我们已经知道了 NodeJS 自带的 fs 模块比较基础,把一个目录里的所有文件和子目录都拷贝到另一个目录里需要写不少代码。
与Java/JDK相关的 7 内置命令:反编译、查看进程、查看内存、查看堆栈等。使用 javap 可以查看 Java 字节码反编译的源文件。
关注时代Java