From fbf72ed39082d725cab8daf57b0b389ff2fc4499 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Thu, 14 Feb 2019 10:39:34 +0800 Subject: [PATCH] update as.sh/arthas-boot.jar/arthas-demo.jar --- arthas-boot.jar | Bin 97119 -> 97970 bytes arthas-demo.jar | Bin 3761 -> 3743 bytes as.sh | 94 +++++++++++++++++++++++++++++++++--------------- 3 files changed, 65 insertions(+), 29 deletions(-) diff --git a/arthas-boot.jar b/arthas-boot.jar index 614a316332a5a6dfcf1dd301ff1fa7f4a6bfe641..2188822d1957f233bba5df549df1ba5f2b7ed9b6 100644 GIT binary patch delta 21300 zcmZs>V{|S}+pQhjwr$(ClNH;xlPk7un=7_$+g`Da_1*XL?EUUfKYENg8l(H{I%>}9 z>e_n&Z~O+wRFVY+g8_nqf&ywrQBW|^O#Iso1O&vIh=~vAff*D+3i%Y;Js{}kh2uzK zsYFwuZf*2v%NqHF_P`x(<775OZrCth&wMWn7UGyTw3?~2uRV?B| z<*flHyCIgvC;i*)`_20-Z7JbQm;H<08}4-tODMaM3*PdN#3{fw8wu-r%*t4Vxr4gE z5UdY5uf|R5EkwGnoC^ULIF8K{2`xrjyOwWrtlOl%br=)T9rL05D+N@5D*1WIM9_VCYS!6~{(OjwrXD zYo@rrn&R#FVd~+MwUfo^?Dvg_LGc>k?>lAyw{QNK`1GkGur~tXz9{u+$s3hoXS}*^ z(pdSM+(;~+z!)ZteH9=heTz|jJL#9fi6gFf<-4{wb!B^TQO#jp6!^J?vat97C!FX? z=|k|L^N6-)6XC{`nad1KmKns1Cruu74|O;EP8`VER{KPOJ-hf*Fkv$mMQqsKBI&_e zXni!%CR(9FR@&{kY^3srO&e57t_MG7=SV_Umj8GH!}}$|Pypb-J8s2(CD%}EIXlku z3AgB739OEfa?-W=JPht=XQS#x=9oj2WU|9(=6Ut|n(5Sgdfq~^=)Rb`6~!S67sc+= zA}j_st4P?W-N?$qWb3&q@Z1}gebT9SK@Mbg%b(Yh%R?{n1bU&S26n6q>&O$b80N+a z3+sfb^mj>n6g1$Fh4)!a=|pqT?~tu>k{uk8%a%^H+k5BvsS}Fxd{&Ny?VuR0QLhy7 zi@q)Xi_!JZ3K#zCLR+-l#|ZS<&@sv}k1TeqvKm13*b8C}wQ(7$+#>EZp61&|&mVZ`X_;|&fMz@fu`(DN=1Kc%|3mO!xASU1P8MW_ z1}xZb5uy3L{`%dGo8*>NHeSl8S}J|5VYSozE6Tx^1`f(G=llDnKQecC=gV}K8x!G` zpsSPDHS1~s(ro71T6C?NS6^**>sLY|k=5XJRqTQt_T?}E9J<0dM#VF{&&SKSz&tyK z*~tsivNS&&D87Bt&9`@tQ6B+euZa<*48TkTO#(y%yagWG_qWRM@j+jBVjEhxlErU1 zo~TQ7MkoPw3!8btM|Lk`TK6!sOjH87>1Z&v-Ip8LnbK=Zv=?zr8ed!SiuJ^-;qi*x z1mpoan$T7B?15x=TkgKX>^}V$7hLImVH44pJ2K-bYBL0U!(>`_3DYgx8=nD)PQYzV zhr0^)!aymNk@)FeD!G@vI?;NyK4{_~k_joYn|#Q-ytSjDHIs@kks0^R$099%-=zX} zVIKn?J96^+dGA1g+&COR@fNw87pT=Fg�hf$ik7};cTS% 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 Z-%13kO-URw000f~N(BM{J484D;D2-1-U The target jvm listen ip, default 127.0.0.1 --telnet-port The target jvm listen telnet port, default 3658 --http-port The target jvm listen http port, default 8563 - --session-timeout The session timeout seconds, default 300 + --session-timeout The session timeout seconds, default 1800 (30min) --arthas-home The arthas home --use-version Use special version arthas --repo-mirror Use special maven repository mirror, value is @@ -410,6 +415,8 @@ Options and Arguments: -c,--command Command to execute, multiple commands separated by ; -f,--batch-file The batch file to execute + --height arthas-client terminal height + --width arthas-client terminal width -v,--verbose Verbose, print debug info. Target pid @@ -537,6 +544,16 @@ parse_arguments() ARTHAS_OPTS="$JPDA_OPTS $ARTHAS_OPTS" shift # past argument ;; + --height) + HEIGHT="$2" + shift # past argument + shift # past value + ;; + --width) + WIDTH="$2" + shift # past argument + shift # past value + ;; -v|--verbose) VERBOSE=true shift # past argument @@ -580,6 +597,13 @@ parse_arguments() fi fi + if [ -z ${REPO_MIRROR} ]; then + REPO_MIRROR="center" + # if timezone is +0800, set REPO_MIRROR to aliyun + if [[ -x "$(command -v date)" ]] && [[ $(date +%z) == "+0800" ]]; then + REPO_MIRROR="aliyun" + fi + fi # check pid if [ -z ${TARGET_PID} ] && [ ${BATCH_MODE} = false ]; then @@ -628,14 +652,14 @@ parse_arguments() # check the process already using telnet port if equals to target pid if [[ ($telnetPortPid) && ($TARGET_PID != $telnetPortPid) ]]; then echo "[ERROR] Target process $TARGET_PID is not the process using port $TELNET_PORT, you will connect to an unexpected process." - echo "[ERROR] If you still want to attach target process $TARGET_PID, Try to set a different telnet port by using --telnet-port argument." - echo "[ERROR] Or try to shutdown the process $telnetPortPid using the telnet port first." + echo "[ERROR] 1. Try to restart as.sh, select process $telnetPortPid, shutdown it first." + echo "[ERROR] 2. Try to use different telnet port, for example: as.sh --telnet-port 9998 --http-port -1" exit 1 fi if [[ ($httpPortPid) && ($TARGET_PID != $httpPortPid) ]]; then echo "Target process $TARGET_PID is not the process using port $HTTP_PORT, you will connect to an unexpected process." - echo "If you still want to attach target process $TARGET_PID, Try to set a different telnet port by using --telnet-port argument." - echo "Or try to shutdown the process $httpPortPid using the telnet port first." + echo "1. Try to restart as.sh, select process $httpPortPid, shutdown it first." + echo "2. Try to use different http port, for example: as.sh --telnet-port 9998 --http-port 9999" exit 1 fi elif [ -z ${TARGET_PID} ]; then @@ -723,11 +747,22 @@ active_console() fi if [ "${BATCH_MODE}" = "true" ]; then + local tempArgs=() + if [ "${HEIGHT}" ]; then + tempArgs+=("--height") + tempArgs+=("${HEIGHT}") + fi + if [ "${WIDTH}" ]; then + tempArgs+=("--width") + tempArgs+=("${WIDTH}") + fi + if [ "${COMMAND}" ] ; then "${JAVA_HOME}/bin/java" ${ARTHAS_OPTS} ${JVM_OPTS} \ -jar "${arthas_lib_dir}/arthas-client.jar" \ ${TARGET_IP} \ ${TELNET_PORT} \ + "${tempArgs[@]}" \ -c ${COMMAND} fi if [ "${BATCH_FILE}" ] ; then @@ -735,6 +770,7 @@ active_console() -jar "${arthas_lib_dir}/arthas-client.jar" \ ${TARGET_IP} \ ${TELNET_PORT} \ + "${tempArgs[@]}" \ -f ${BATCH_FILE} fi elif type telnet 2>&1 >> /dev/null; then