Mac 以SH脚本安装Arthas

SH脚本安装Aethas

curl -L https://alibaba.github.io/arthas/install.sh | sh

安装脚本说明

示例源文件:

#! /bin/bash# temp file of as.sh
TEMP_ARTHAS_FILE="./as.sh.$$"# target file of as.sh
TARGET_ARTHAS_FILE="./as.sh"# update timeout(sec)
SO_TIMEOUT=60# default downloading url
ARTHAS_FILE_URL="https://arthas.aliyun.com/as.sh"# exit shell with err_code
# $1 : err_code
# $2 : err_msg
exit_on_err()
{[[ ! -z "${2}" ]] && echo "${2}" 1>&2exit ${1}
}# check permission to download && install
[ ! -w ./ ] && exit_on_err 1 "permission denied, target directory ./ was not writable."if [ $# -gt 1 ] && [ $1 = "--url" ]; thenshiftARTHAS_FILE_URL=$1shift
fi# download from aliyunos
echo "downloading... ${TEMP_ARTHAS_FILE}"
curl \-sLk \--connect-timeout ${SO_TIMEOUT} \$ARTHAS_FILE_URL \-o ${TEMP_ARTHAS_FILE} \
|| exit_on_err 1 "download failed!"# write or overwrite local file
rm -rf as.sh
mv ${TEMP_ARTHAS_FILE} ${TARGET_ARTHAS_FILE}
chmod +x ${TARGET_ARTHAS_FILE}# done
echo "Arthas install successed."

译文:

# 这是一个用于安装Arthas的bash脚本## 定义变量
- `TEMP_ARTHAS_FILE`:临时下载文件路径,即`. ./as.sh.$$`
- `TARGET_ARTHAS_FILE`:目标Arthas文件路径,即`. ./as.sh`
- `SO_TIMEOUT`:网络请求超时时间(秒),默认为60秒
- `ARTHAS_FILE_URL`:默认下载地址,指向阿里云的Arthas下载链接## 函数定义
- `exit_on_err`:根据错误代码和消息退出脚本。当发生错误时,输出错误消息并以指定错误码退出脚本。## 检查权限
- 检测当前目录是否可写,不可写则显示错误信息并退出。## 参数处理
- 如果参数列表中包含`--url`选项,则获取下一个参数作为下载URL,并从该URL下载Arthas。## 下载Arthas
- 使用curl命令按照给定的超时设置从指定URL下载Arthas到临时文件。
- 如果下载失败,则调用`exit_on_err`函数并退出脚本。## 移动并设置执行权限
- 删除已存在的旧版Arthas本地文件(如果存在)。
- 将临时下载的Arthas文件移动到目标位置。
- 设置目标文件为可执行权限。## 安装完成提示
- 显示“Arthas install successed.”表示Arthas安装成功。

安装原理

如果已经在系统中下载了Arthas的安装脚本(如install.shinstall-local.sh),并以正确的方式执行了这个脚本(通常使用命令 sh install.sh 或赋予其可执行权限后直接运行),那么这个脚本将会自动完成一系列步骤,最终将Arthas安装到您的计算机上。

具体来说,安装过程可能包括但不限于以下步骤:

  • 从官方源或其他可信源下载Arthas的发布包。
  • 解压缩下载的文件。
  • 将Arthas相关的JAR文件移动到特定目录,比如${HOME}/.arthas/lib/版本号/下。
  • 可能还会配置环境变量,以便于全局访问Arthas命令行工具。
  • 安装完成后,您就可以通过相应的启动脚本(例如as.sh)来连接和诊断运行在本地机器上的Java应用程序了。

设置环境变量

为了能够在任何终端窗口中方便地使用Arthas,您需要将Arthas的启动脚本路径添加到系统的PATH环境变量中。在macOS Catalina及以后版本中,系统默认使用的是Zsh shell,因此需要编辑.zprofile.zshrc文件:

# 设置Arthas路径
export ARTHAS_HOME=/opt/arthas
# 将Arthas的bin目录添加到PATH变量中
export PATH=$PATH:$ARTHAS_HOME

刷新环境变量

source ~/.bash_profile

SH启动运行

打开终端任意位置输入as.sh

随便连接一个Java连接应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/713509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius,Kotlin

Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius,Kotlin 这里 Android挖取原图中心区域RectF(并框线标记)放大到ImageView宽高,Kotlin-CSDN博客 实现的是把原图中心区域的一片小图挖取出来放大放到下面的ImageView里面…

if语句用法

if语句是单条件分支语句 定义:根据一个条件来控制程序执行流程(如图3.2)。 语法格式: if(表达式){ 若干语句 } ★注意★: ① 表达式的值必须是boolean 型; ② 不能用0代表false;用1代表 true&am…

德人合科技 | —数据泄露可能会对公司造成哪些影响?

数据泄露可能会对公司造成多方面的影响,以下是一些可能的影响: 财务损失:数据泄露可能导致公司遭受财务损失。攻击者可能会盗取公司的敏感信息,如客户信息、银行账户信息、商业机密等,并利用这些信息进行欺诈、盗窃等非…

本地maven库缓存导入私库

为了加速编译代码,想将本地maven缓存导入内网私库使用。 脚本网上搜的 #!/bin/bash # copy and run this script to the root of the repository directory containing files # this script attempts to exclude uploading itself explicitly so the script name …

高效备考2024年AMC10:吃透2000-2023年1250道AMC10真题

距离2024年AMC10的比赛只有8个月多一点的时间了,如何备考AMC10美国数学竞赛最有效?参加AMC10竞赛是否一定要参加机构的培训班?吃透历年真题是有效的自学、了解AMC10和备考策略之一。事实上,网络上有很多关于AMC10的学习资源&#…

Github 2024-03-02 开源项目日报Top9

根据Github Trendings的统计,今日(2024-03-02统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目2Rust项目1JavaScript项目1Shell项目1C项目1TypeScript项目1C#项目1Python项目1 任天堂Switch模…

决定西弗吉尼亚州地区版图的关键历史事件

决定西弗吉尼亚州地区版图的关键历史事件: 1. 内部分裂与美国内战: - 在1861年美国内战爆发时,弗吉尼亚州作为南方邦联的一员宣布退出美利坚合众国。然而,弗吉尼亚州西部的一些县由于经济结构(主要是农业非依赖奴隶制…

Redis 存储原理和数据模型

redis 是不是单线程 redis 单线程指的是命令处理在一个单线程中。主线程 redis-server:命令处理、网络事件的监听。 辅助线程 bio_close_file:异步关闭大文件。bio_aof_fsync:异步 aof 刷盘。bio_lazy_free:异步清理大块内存。io_…

一种基于三角剖分划分白区范围的白平衡算法

常规的白平衡算法中,一般会通过标准色温的R/G-B/G建议色温坐标系,然后在该坐标系中设定白区范围,对落入到白区范围的R/G/B进行加权统计处理,输出给到软件进行白平衡的增益计算。 所介绍的这篇专利利用三角剖分的算法,在划定的白区范围内,利用各个标准色温光源下所标定的白…

STM32------分析GPIO寄存器

一、初始LED原理图 共阴极led LED发光二极管,需要有电流通过才能点亮,当有电压差就会产生电流 二极管两端的电压差超过2.7v就会有电流通过 电阻的作用 由于公式IV/R 不加电阻容易造成瞬间电流无穷大 发光二极管工作电流为10-20MA 3.3v / 1kΩ 3.…

C#中什么是非托管代码?托管代码和非托管代码有什么区别

在C#中,托管代码和非托管代码是两种不同类型的代码,它们在内存管理和执行环境上有所不同。 托管代码(Managed Code): 托管代码是由.NET运行时(CLR,Common Language Runtime)管理和执…

新能源汽车产业架构设计与实现:引领未来出行新风向

随着环保意识的增强和能源结构的转型,新能源汽车产业正迅速崛起成为汽车行业的新宠。构建一个完善的新能源汽车产业架构对于推动产业发展、提升竞争力至关重要。本文将从设计原则、关键技术、产业生态等方面,探讨如何设计与实现新能源汽车产业架构。 ##…

那些壁纸,不只是背景

1、方小童在线工具集 网址: 方小童 该网站是一款在线工具集合的网站,目前包含PDF文件在线转换、随机生成美女图片、精美壁纸、电子书搜索等功能,喜欢的可以赶紧去试试!

【快速选择】解决TopK问题

目录 一、什么是TopK问题 二、优先级队列 优先级队列介绍 代码实现 三、使用优先级队列解决TopK问题 四、快速选择算法解决TopK问题 快速选择 图解快速选择 代码解决前k小个元素 五、优先级队列与快速选则算法比较 优先级队列 快速选择 一、什么是TopK问题 TopK问题…

Linux Seccomp 简介

文章目录 一、简介二、架构三、Original/Strict Mode四、Seccomp-bpf五、seccomp系统调用六、Linux Capabilities and Seccomp6.1 Linux Capabilities6.2 Linux Seccomp 参考资料 一、简介 Seccomp(secure computing)是Linux内核中的一项计算机安全功能…

软考 系统分析师系列知识点之需求获取(7)

所属章节: 第11章. 软件需求工程 第2节. 需求获取 需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是一件看上去很简单、做起来却很难的事情。需求获取是否科学、准备是否充分,对获取出来的结果影响很大,这是因为大部…

Leetcode刷题(十八)

一、203. 移除链表元素 代码: class Solution:def removeElements(self, head: Optional[ListNode], val: int) -> Optional[ListNode]:while head and head.val val:head head.nextpre, cur head, headwhile cur:if cur.val val:pre.next cur.nextelse:p…

全闪存加速信创数据库数仓一体机解决方案

立足行业,深度解读 在新的大数据生态中,传统数据库/数据仓库技术和产品成为大数据生态中的组成部分,对结构化数据的存储和计算进行支撑。 数据库&数据仓库一体机是高端、核心数据管理产品,在我国党政、银行、交通等领域广泛…

nginx出现 “414 request-uri too large”

nginx出现 “414 request-uri too large” 1.修改传参方式 POST 2.字段能变成后端获取就自己获取,不用前端传 3.修改nginx配置,添加client_header_buffer_size 512k;large_client_header_buffers 4 512k;配置

2022年CSP-J认证 CCF信息学奥赛C++ 中小学初级组 第一轮真题-完善程序题解析

2022CCF认证第一轮&#xff08;CSP-J&#xff09;真题 三、完善程序题 第一题 枚举因数 从小到大打印正整数n的所有正因数。试补全枚举程序 #include <iostream> using namespace std;int main(){int n;cin >> n;vector<int> fac;fac.reserve((int)ceil(…