首页 > 其他分享 >replace jdk

replace jdk

时间:2024-09-24 21:49:56浏览次数:1  
标签:paths jdk JDK echo idle download replace

#!/bin/bash

java_processes=$(ps -ef | grep java | grep -v grep)


running_jdk_paths=$(echo "$java_processes" | grep -oP '/.*?/bin/java' | sort -u)


jdk_installations=$(find /path/to/jdk -name 'jdk*')


idle_jdk_paths=()
for jdk in $jdk_installations; do
    if ! echo "$running_jdk_paths" | grep -q "$jdk/bin/java"; then
        idle_jdk_paths+=("$jdk")
    fi
done


if [[ ${#idle_jdk_paths[@]} -eq 0 ]]; then
    echo "All JDKs are in use. No idle JDKs found."
    exit 1
fi


echo "Idle JDK paths: ${idle_jdk_paths[@]}"


read -p "Please enter the JDK download URL: " jdk_download_url


wget -O /tmp/jdk_download.tar.gz "$jdk_download_url"


tar -xzvf /tmp/jdk_download.tar.gz -C /path/to/jdk/


for idle_jdk in "${idle_jdk_paths[@]}"; do
    if [[ -n "$idle_jdk" ]]; then
        mv "$idle_jdk" "${idle_jdk}_old"
        echo "Replaced idle JDK at $idle_jdk"
    fi
done

echo "Idle JDK replaced with the downloaded JDK."

 

标签:paths,jdk,JDK,echo,idle,download,replace
From: https://www.cnblogs.com/abc0012383/p/18430101

相关文章

  • jdk
    ----name:ReplaceIdleJDKhosts:allgather_facts:falsevars:jdk_download_url:""tasks:-name:CheckrunningJavaprocessescommand:ps-ef|grepjava|grep-vgrepregister:java_processeschanged......
  • aop动态代理可以用两种技术jdk动态代理和cglib动态代理
    SpringAOP(面向切面编程)在实现动态代理时,实际上可以使用两种不同的技术:JDK动态代理和CGLIB动态代理。具体使用哪一种技术取决于具体的情况。1.**JDK动态代理**:-JDK动态代理只能代理实现了接口的类。-如果目标类实现了一个或多个接口,SpringAOP默认会使用JDK动态代理。......
  • mybatis用的jdk的动态代理技术
    MyBatis的动态代理主要使用的是JDK动态代理技术。在MyBatis中,Mapper接口的实现是通过JDK动态代理生成的。具体来说,当你调用Mapper接口的方法时,MyBatis会通过JDK动态代理机制生成一个代理对象,代理对象会拦截对Mapper接口方法的调用,并将这些调用处理为相应的SQL操作。JDK动态代理......
  • Elasticsearch8.14.3更换自带的openjdk版本
    目录1.背景2.当前版本3.安装指定版本4.配置环境变量5.重启6.验证当前版本7.总结概述:为何更换Elasticsearch集群中的JDK版本背景在部署的Elasticsearch集群中,我们遇到了频繁的CPU使用率飙升问题,导致某些节点宕机。这种情况不仅影响了集群的稳定性和可靠性,还增加了维......
  • 基于JDK1.8和Maven的GeoTools 28.X源码自主构建实践
    目录前言一、GeoTools与Jdk的版本关系1、GeoTools与Jdk版本2、编译环境简介二、使用Maven编译GeoTools28.X1、GeoTools28.x2、Maven的完整编译3、构建时的问题三、总结前言        想要学习和掌握一个开源软件或者项目,源码是我们主要学习的内容。学习开源项目的源代码可以......
  • JDK11安装
    JDK11安装打开安装包修改路径,可改为不是在C盘路径点击关闭添加环境变量,复制安装的路径点击此电脑,点击属性,点击高级系统设置点击环境变量点击系统变量中Path点击新建,把复制的路径进行粘贴最后点击确定,重启电脑检查是否安装成功win+R,......
  • Java泛型(JDK5)
    目录1.概述2.泛型的优点3.泛型类4.泛型方法5.泛型接口1.实现类给出具体的类型2.实现类延续泛型,创建实现类对象时再确定类型6.泛型的通配符1.概述泛型是JDK5中引入的特性,可以在编译阶段约束操作的数据类型,并进行检查注意:泛型只能支持引用数据类型2.泛型的优点1.......
  • 1.JDK自带的线程池有哪些?2.线程池中核心线程数与最大线程数与缓冲任务队列的关系?3.为
    1.JDK自带的线程池有哪些?2.线程池中核心线程数与最大线程数与缓冲任务队列的关系?在Java中的线程池(如ThreadPoolExecutor)中,核心线程数(corePoolSize)、最大线程数(maximumPoolSize)以及缓冲队列(workQueue)之间存在着密切的关系,它们共同决定了线程池如何管理和调度任务。以下是......
  • 全面解析 JDK17新特性:密封类、模式匹配、文本块、垃圾回收等最新功能详解
    引言JDK17作为Java的长期支持(LTS)版本,引入了许多新特性和改进,这些更新不仅提升了代码的可读性和可维护性,还增强了性能。本文将详细探讨JDK17的关键新特性,包括密封类、模式匹配、文本块、增强的垃圾回收机制等,并附上代码示例,帮助你更好地理解和应用这些特性。1.密封......
  • Java开发环境搭建:JDK与Eclipse的完美组合
    摘要:本文简述了Java开发环境的搭建,包括JDK的安装、环境变量配置,以及EclipseIDE的设置。提供了详细的步骤指导,帮助Java初学者快速搭建开发环境并运行第一个项目。Java的跨平台特性与环境需求我们写C/C++时,直接下载VisualStudio,然后在里面直接写代码就可以了。但是Java不行。这不是......