当前位置: 首页 > news >正文

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连接应用

相关文章:

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 timeo…...

Elasticsearch:dense vector 数据类型及标量量化

密集向量(dense_vector)字段类型存储数值的密集向量。 密集向量场主要用于 k 最近邻 (kNN) 搜索。 dense_vector 类型不支持聚合或排序。 默认情况下,你可以基于 element_type 添加一个 dend_vector 字段作为 float 数值数组: …...

Linux C/C++下使用Lex/Yacc构建实现DBMS(Minisql)

DBMS(数据库管理系统)是一种用于管理和组织数据库的软件系统。它的重要性在于提供了一种有效地存储、管理和访问大量数据的方式。本文将深入探讨如何使用C语言、Lex(词法分析器生成器)和Yacc(语法分析器生成器&#xf…...

c语言指针小白基础教学

指针 1. 什么是指针?2. 如何编址(即如何给地址分配空间呢)3. 概念和基本术语3.1指针的值指针所指向的地址/内存区3.2 指针的类型(指针本身的类型)思考: 3.3 指针所指向的类型3.4 指针本身所占据的内存区3.5…...

面向对象设计之里氏替换原则

设计模式专栏:http://t.csdnimg.cn/4Mt4u 思考:什么样的代码才算违反里氏替换原则? 目录 1.里氏替换原则的定义 2.里氏替换原则与多态的区别 3.违反里氏替换原则的反模式 4.总结 1.里氏替换原则的定义 里氏替换原则(Liskov S…...

MySQL·SQL优化

目录 一 . 前言 二 . 优化方法 1 . 索引 (1)数据构造 (2)单索引 (3)explain (4)组合索引 (5)索引总结 2 . 避免使用select * 3 . 用union all代替u…...

Dockerfile指令大全

Dockerfile文件由一系列指令和参数组成。指令的一般格式为INSTRUCTION arguments。具体来说,包括"配置指令"(配置镜像信息)和"操作指令"(具体执行操作)。每条指令,如FROM,都是大小写不敏感的。但是为了区分指令和参数&am…...

第八个实验:(A+B)-C的结果判断奇偶特性

实验内容:(A+B)-C的结果判断奇偶特性,最后显示结果 实验步骤: 第一步:建立项目 第二步:实验步骤,编写程序 第三步:实验结果...

设计模式:观察者模式 ⑧

一、思想 观察者模式是一种常见的设计模式,也称作发布-订阅模式。它主要解决了对象之间的通知依赖关系问题。在这种模式中,一个对象(称作Subject)维护着一个对象列表,这些对象(称作Observers)都…...

【重温设计模式】迭代器模式及其Java示例

迭代器模式的介绍 在编程领域,迭代器模式是一种常见的设计模式,它提供了一种方法,使得我们可以顺序访问一个集合对象中的各个元素,而又无需暴露该对象的内部表示。你可以把它想象成一本书,你不需要知道这本书是怎么印…...

(001)UV 的使用以及导出

文章目录 UV窗口导出模型的主要事项导出时材质的兼容问题unity贴图导出导出FBX附录 UV窗口 1.uv主要的工作区域: 2.在做 uv 和贴图之前,最好先应用下物体的缩放、旋转。 导出模型的主要事项 1.将原点设置到物体模型的底部: 2.应用修改器的…...

一文理解CAS和自旋的区别(荣耀典藏版)

目录 一、自旋 二、CAS 三、什么是 ABA 问题 大家好,我是月夜枫,通常在面试的时候,或者在学习的时候,经常性的会遇到一些关于锁的问题,尤其是面试官会提出提问,你对锁了解的多么?你知道锁的原…...

【吊打面试官系列】Java虚拟机JVM篇 - 关于内存溢出

大家好,我是锋哥。今天分享关于内存溢出的JVM面试题,希望对大家有帮助; 什么是内存溢出? 内存溢出(OOM)是指可用内存不足。程序运行需要使用的内存超出最大可用值,如果不进行处理就会影响到其他…...

思科网络中如何配置标准ACL协议

一、什么是标准ACL协议?有什么作用及配置方法? (1)标准ACL(Access Control List)协议是一种用于控制网络设备上数据流进出的协议。标准ACL基于源IP地址来过滤数据流,可以允许或拒绝特定IP地址范…...

蓝桥杯刷题(二)

参考大佬代码:(区间合并二分) import os import sysn, L map(int, input().split()) # 输入n,len arr [list(map(int, input().split())) for _ in range(n)] # 输入Li,Si def check(Ti, arr, L)->bool:sec [] # 存入已打开的阀门在…...

【Python】牛客网—软件开发-Python专项练习(day1)

1.(单选)下面哪个是Python中不可变的数据结构? A.set B.list C.tuple D.dict 可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改变,但内存地址不变 不…...

P3405 [USACO16DEC] Cities and States S题解

题目 Farmer John有若干头奶牛。为了训练奶牛们的智力,Farmer John在谷仓的墙上放了一张美国地图。地图上表明了每个城市及其所在州的代码(前两位大写字母)。 由于奶牛在谷仓里花了很多时间看这张地图,他们开始注意到一些奇怪的…...

JavaScript原型和原型链

JavaScript每个对象拥有一个原型对象 需要注意的是,只有函数对象才有 prototype 属性 当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索&#xff…...

PyTorch之完整的神经网络模型训练

简单的示例: 在PyTorch中,可以使用nn.Module类来定义神经网络模型。以下是一个示例的神经网络模型定义的代码: import torch import torch.nn as nnclass MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()# 定义神经…...

基于神经网络的偏微分方程求解器再度取得突破,北大字节的研究成果入选Nature子刊

目录 一.引言:神经网络与偏微分方程 二.如何基于神经网络求解偏微分方程 1.简要概述 2.基于神经网络求解偏微分方程的三大方向 2.1数据驱动 基于CNN 基于其他网络 2.2物理约束 PINN 基于 PINN 可测量标签数据 2.3物理驱动(纯物理约束) 全连接神经网路(FC-NN) CN…...

3分钟上手TMSpeech:打造Windows本地实时语音转文字神器

3分钟上手TMSpeech:打造Windows本地实时语音转文字神器 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 想要在会议中轻松走神却不错过关键信息?担心云端语音识别泄露隐私?TMSpeec…...

Battery Toolkit:终极Apple Silicon Mac电池健康管理指南,让电池寿命延长50%

Battery Toolkit:终极Apple Silicon Mac电池健康管理指南,让电池寿命延长50% 【免费下载链接】Battery-Toolkit Control the platform power state of your Apple Silicon Mac. 项目地址: https://gitcode.com/gh_mirrors/ba/Battery-Toolkit 你是…...

基于OFA模型的智能客服系统开发:VQA技术实战

基于OFA模型的智能客服系统开发:VQA技术实战 想象一下这个场景:你是一家电商公司的客服主管,每天要处理上千张用户上传的图片问题——“这个商品有划痕正常吗?”、“我收到的包装破损了怎么办?”、“这个尺寸和我拍的…...

Ubuntu24.04 如何删除snap

Ubuntu24.04 如何删除snap # 删掉全部已安装的 Snap 软件 # 先删所有非 core / snapd for p in $(snap list --all | awk NR>1 {print $1} | grep -vE core|snapd); dosnap remove --purge $p done # 删 core snap remove --purge core20 snap remove --purge core18 # 删 s…...

Phi-3-mini-128k-instruct轻量级优势:3.8B参数实现13B模型推理质量实测

Phi-3-mini-128k-instruct轻量级优势:3.8B参数实现13B模型推理质量实测 1. 模型概述 Phi-3-Mini-128K-Instruct是一款仅有38亿参数的轻量级开放模型,却能在多项基准测试中达到130亿参数模型的推理质量。该模型采用Phi-3数据集训练,该数据集…...

Phi-3 Forest Lab实战案例:用‘正在聆听风的声音’加载状态提升用户等待体验

Phi-3 Forest Lab实战案例:用正在聆听风的声音加载状态提升用户等待体验 1. 项目背景与设计理念 在当今AI应用爆炸式增长的时代,用户体验往往被技术性能指标所掩盖。Phi-3 Forest Lab通过独特的"自然治愈系"设计语言,重新思考了人…...

第一篇:微信云开发宠物上门预约小程序:核心架构与实现思路

微信云开发宠物上门预约小程序:核心架构与实现思路本文已收录于专栏《微信小程序云开发实战:宠物上门预约系统全流程》,原创不易,欢迎点赞、收藏、关注,后续会持续拆解核心模块的代码实现。前言 随着宠物经济的爆发式增…...

原子化《思考快与慢》的原子化的庖丁解牛

它的本质是:识别大脑中两个系统的运作机制—— 系统 1 (快思考/直觉/自动化) 与 系统 2 (慢思考/理性/耗能) ,并针对程序员常见的认知偏差(如过度自信、沉没成本谬误、锚定效应)进行“补丁修复”。在失业焦虑和职业转型的关键期&a…...

仅限72小时!奇点大会闭门报告流出:多模态内容生成的3大伦理红线与5条合规生成铁律

第一章:2026奇点智能技术大会:多模态内容生成 2026奇点智能技术大会(https://ml-summit.org) 多模态生成范式的演进 2026年大会聚焦于统一架构驱动的跨模态对齐技术,强调文本、图像、音频与3D几何信号在隐空间中的联合表征学习。主流模型已…...

DASD-4B-Thinking多模态延伸潜力:vLLM架构兼容未来图文混合Long-CoT扩展

DASD-4B-Thinking多模态延伸潜力:vLLM架构兼容未来图文混合Long-CoT扩展 1. 引言:当思考模型遇见多模态的未来 想象一下,你正在处理一个复杂的项目报告,里面既有大量的文字分析,又穿插着各种图表和数据。你需要一个助…...