From 396faa942fe3438671391203701bb7f1166b5281 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 8 Feb 2017 11:59:48 +0800 Subject: [PATCH 001/141] add LICENSE --- LICENSE | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..5471dc10 --- /dev/null +++ b/LICENSE @@ -0,0 +1,203 @@ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From bcf47ae308e4ca8384e651b5a48fad74fc462435 Mon Sep 17 00:00:00 2001 From: sunus Date: Fri, 3 Mar 2017 13:27:11 +0800 Subject: [PATCH 002/141] support mac os on mac osx , netstat need to using -p tcp to get only tcp output. tested on osx with bash && zsh linux with bash && zsh --- tcp-connection-state-counter.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter.sh index 59323ae8..0024851d 100755 --- a/tcp-connection-state-counter.sh +++ b/tcp-connection-state-counter.sh @@ -6,8 +6,8 @@ # $ ./tcp-connection-state-counter.sh # # @author Jerry Lee - -netstat -tna | awk 'NR > 2 { +# on mac osx , netstat need to using -p tcp to get only tcp output. +netstat -tna `[ ! -z $(uname|grep Darwin) ] && echo "-ptcp"` | awk 'NR > 2 { s[$NF]++ } From cd820629ccdc017bd02c97ec5fdf1149c4f80ad6 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 12 Mar 2017 19:33:32 +0800 Subject: [PATCH 003/141] Compatible with python 3 --- colines | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/colines b/colines index 0c090018..400c6ac3 100755 --- a/colines +++ b/colines @@ -18,15 +18,14 @@ idx = 0 def color_print(*args): - line = " ".join(args) + _line = " ".join(args) global idx idx += 1 color = ECHO_COLORS[idx % len(ECHO_COLORS)] if sys.stdout.isatty(): - line_ = """\033[1;%sm%s\033[0m""" % (color, line) - print line_ + print("""\033[1;%sm%s\033[0m""" % (color, _line)) else: - print(line) + print(_line) if __name__ == '__main__': From fadb6b89ddff73008e2a0ecfdb8aa3213c5a09ad Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 20 Mar 2017 00:31:17 +0800 Subject: [PATCH 004/141] Compatible with python 3 --- show-cpu-and-memory.sh | 25 ------------------------- show-duplicate-java-classes | 34 +++++++++++++++++----------------- 2 files changed, 17 insertions(+), 42 deletions(-) delete mode 100755 show-cpu-and-memory.sh diff --git a/show-cpu-and-memory.sh b/show-cpu-and-memory.sh deleted file mode 100755 index 5aa672cc..00000000 --- a/show-cpu-and-memory.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -# @Function -# Show total and every process's memory and cpu usage -# -# @Usage -# $ ./show-cpu-and-memory.sh -# -# @author Bryant Hang - -readonly cur_date="`date +%Y%m%d`" - -readonly total_mem="`free -m | grep 'Mem'`" -readonly total_cpu="`top -n 1 | grep 'Cpu'`" - -echo '**********'$cur_date'**********' -echo -echo "total memory: $total_mem total cpu: $total_cpu" -echo - -for pid in `ps -ef | awk 'NR > 0 {print $2}'` ; do - mem=`cat /proc/$pid/status 2> /dev/null | grep VmRSS | awk '{print $2 $3}'` - cpu=`top -n 1 -b | awk -v "pid=${pid}" '$1==pid {print $9}'` - - echo "pid: $pid, memory: $mem, cpu:$cpu%" -done diff --git a/show-duplicate-java-classes b/show-duplicate-java-classes index 07acbe43..1f06cb0d 100755 --- a/show-duplicate-java-classes +++ b/show-duplicate-java-classes @@ -47,7 +47,7 @@ def expand_2_class_path(jar_files, class_dirs): def find_duplicate_classes(java_class_2_class_paths): class_path_2_duplicate_classes = {} - for java_class, class_paths in java_class_2_class_paths.items(): + for java_class, class_paths in list(java_class_2_class_paths.items()): if len(class_paths) > 1: classes = class_path_2_duplicate_classes.setdefault(frozenset(class_paths), set()) classes.add(java_class) @@ -56,12 +56,12 @@ def find_duplicate_classes(java_class_2_class_paths): def print_class_paths(class_paths): - print - print "=" * 80 - print "class paths to find:" - print "=" * 80 + print() + print("=" * 80) + print("class paths to find:") + print("=" * 80) for idx, class_path in enumerate(class_paths): - print("%-3d: %s" % (idx + 1, class_path)) + print(("%-3d: %s" % (idx + 1, class_path))) if __name__ == '__main__': @@ -80,22 +80,22 @@ if __name__ == '__main__': class_path_2_duplicate_classes = find_duplicate_classes(java_class_2_class_paths) if not class_path_2_duplicate_classes: - print "COOL! No duplicate classes found!" + print("COOL! No duplicate classes found!") print_class_paths(class_paths) exit() - print "Found duplicate classes in below class path:" + print("Found duplicate classes in below class path:") for idx, jars in enumerate(class_path_2_duplicate_classes): - print "%-3d(%d@%d): %s" % (idx + 1, len(class_path_2_duplicate_classes[jars]), len(jars), " ".join(jars)) - - print - print "=" * 80 - print "Duplicate classes detail info:" - print "=" * 80 - for idx, (jars, classes) in enumerate(class_path_2_duplicate_classes.iteritems()): - print "%-3d(%d@%d): %s" % (idx + 1, len(class_path_2_duplicate_classes[jars]), len(jars), " ".join(jars)) + print("%-3d(%d@%d): %s" % (idx + 1, len(class_path_2_duplicate_classes[jars]), len(jars), " ".join(jars))) + + print() + print("=" * 80) + print("Duplicate classes detail info:") + print("=" * 80) + for idx, (jars, classes) in enumerate(class_path_2_duplicate_classes.items()): + print("%-3d(%d@%d): %s" % (idx + 1, len(class_path_2_duplicate_classes[jars]), len(jars), " ".join(jars))) for i, c in enumerate(classes): - print "\t%-3d %s" % (i + 1, c) + print("\t%-3d %s" % (i + 1, c)) print_class_paths(class_paths) exit(1) From 506dab62c6d6ea24fa1d349b45223984730f2251 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 20 Aug 2017 13:04:01 +0800 Subject: [PATCH 005/141] update docs --- README.md | 18 +++++++++++++++--- docs/vcs.md | 28 ++++++++++++++++++++-------- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index ea220e20..1e76a505 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,21 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m ### :watch: [`VCS`相关脚本](docs/vcs.md) +> 你会发现这些脚本都是`svn`分支相关的操作。 +> +> 个人在使用`Git`的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出`Git`的优秀)。 +> 原因:`Git`的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而`svn`不得不涉及仓库的`URL`(不统一简单)。 +> +> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 :stuck_out_tongue: +> +> 使用更现代的`Git`吧! :boom: + 1. [swtrunk.sh](docs/vcs.md#beer-swtrunksh) - 自动`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 + 自动`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 + PS: `Git`对应的是`git checkout master`,如果你使用了`oh-my-zsh`,已经有对应的别名加速了:`gcm`。 1. [svn-merge-stop-on-copy.sh](docs/vcs.md#beer-svn-merge-stop-on-copysh) - 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 + 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 + PS:`Git`的合并很直接简单,`git merge branch-foo`,也更智能(没有树冲突一说)。 1. [cp-svn-url.sh](docs/vcs.md#beer-cp-svn-urlsh) - 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 + 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 + PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 diff --git a/docs/vcs.md b/docs/vcs.md index ca487a70..753161b5 100644 --- a/docs/vcs.md +++ b/docs/vcs.md @@ -1,12 +1,22 @@ :snail: `VCS`相关脚本 ==================================== +> 你会发现这些脚本都是`svn`分支相关的操作。 +> +> 个人在使用`Git`的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出`Git`的优秀)。 +> 原因:`Git`的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而`svn`不得不涉及仓库的`URL`(不统一简单)。 +> +> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 :stuck_out_tongue: +> +> 使用更现代的`Git`吧! :boom: + :beer: [swtrunk.sh](../swtrunk.sh) ---------------------- -`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 +`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 +PS:`Git`对应的是`git checkout master`。如果你使用了`oh-my-zsh`,已经有对应的别名加速了:`gcm`。 -命令以`SVN`的标准目录命名约定来识别分支和主干。 +命令以`svn`的标准目录命名约定来识别分支和主干。 即,分支在目录`branches`下,主干在目录`trunk`下。 示例: - 分支: http://www.foo.com/project1/branches/feature1 @@ -15,9 +25,9 @@ ### 用法 ```bash -swtrunk.sh # 缺省使用当前目录作为SVN工作目录 +swtrunk.sh # 缺省使用当前目录作为svn工作目录 cp-svn-url.sh /path/to/svn/work/directory -cp-svn-url.sh /path/to/svn/work/directory1 /path/to/svn/work/directory2 # SVN工作目录个数不限制 +cp-svn-url.sh /path/to/svn/work/directory1 /path/to/svn/work/directory2 # svn工作目录个数不限制 ``` ### 示例 @@ -41,7 +51,8 @@ svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/bran :beer: [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) ---------------------- -把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 +把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 +PS:`Git`的合并很直接简单,`git merge branch-foo`,也更智能(没有树冲突一说)。 ### 用法 @@ -54,7 +65,7 @@ svn-merge-stop-on-copy.sh <来源的远程分支> <目标远程分支> ### 示例 ```bash -svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 # 缺省使用当前目录作为SVN工作目录 +svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 # 缺省使用当前目录作为svn工作目录 svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 /path/to/svn/work/directory svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://www.foo.com/project1/branches/feature2 ``` @@ -66,12 +77,13 @@ svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://w :beer: [cp-svn-url.sh](../cp-svn-url.sh) ---------------------- -拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 +拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 + PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 ### 用法 ```bash -cp-svn-url.sh # 缺省使用当前目录作为SVN工作目录 +cp-svn-url.sh # 缺省使用当前目录作为svn工作目录 cp-svn-url.sh /path/to/svn/work/directory ``` From 2d9250d5ccfae956449e4e1dd38a1b67c6d20ff9 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 Aug 2017 20:00:00 +0800 Subject: [PATCH 006/141] improve code style and readability --- tcp-connection-state-counter.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter.sh index 0024851d..6e1252f9 100755 --- a/tcp-connection-state-counter.sh +++ b/tcp-connection-state-counter.sh @@ -6,8 +6,11 @@ # $ ./tcp-connection-state-counter.sh # # @author Jerry Lee -# on mac osx , netstat need to using -p tcp to get only tcp output. -netstat -tna `[ ! -z $(uname|grep Darwin) ] && echo "-ptcp"` | awk 'NR > 2 { + +# On MacOS, netstat need to using -p tcp to get only tcp output. +[ -n "$(uname | grep Darwin)" ] && option_for_mac="-ptcp" + +netstat -tna $option_for_mac | awk 'NR > 2 { s[$NF]++ } From db2409cd481441ede306ac195384db87c8cfbe4c Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 25 Aug 2017 12:46:35 +0800 Subject: [PATCH 007/141] =?UTF-8?q?=E5=9C=A8=E9=A6=96=E9=A1=B5=E4=B8=8A?= =?UTF-8?q?=E9=9A=90=E8=97=8Fsvn=E5=AF=B9=E5=BA=94=E7=9A=84=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 +++------------------ docs/vcs.md | 19 +++++++++++++------ 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 1e76a505..5a33dd5c 100644 --- a/README.md +++ b/README.md @@ -58,21 +58,6 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m ### :watch: [`VCS`相关脚本](docs/vcs.md) -> 你会发现这些脚本都是`svn`分支相关的操作。 -> -> 个人在使用`Git`的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出`Git`的优秀)。 -> 原因:`Git`的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而`svn`不得不涉及仓库的`URL`(不统一简单)。 -> -> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 :stuck_out_tongue: -> -> 使用更现代的`Git`吧! :boom: - -1. [swtrunk.sh](docs/vcs.md#beer-swtrunksh) - 自动`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 - PS: `Git`对应的是`git checkout master`,如果你使用了`oh-my-zsh`,已经有对应的别名加速了:`gcm`。 -1. [svn-merge-stop-on-copy.sh](docs/vcs.md#beer-svn-merge-stop-on-copysh) - 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 - PS:`Git`的合并很直接简单,`git merge branch-foo`,也更智能(没有树冲突一说)。 -1. [cp-svn-url.sh](docs/vcs.md#beer-cp-svn-urlsh) - 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 - PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 +目前`VCS`的脚本都是`svn`分支相关的操作。使用更现代的`Git`吧! :boom: + +因为不推荐使用`svn`,这里不再列出有哪些脚本了,如果你有兴趣可以点上面链接去看。 diff --git a/docs/vcs.md b/docs/vcs.md index 753161b5..77abe0f4 100644 --- a/docs/vcs.md +++ b/docs/vcs.md @@ -10,11 +10,20 @@ > > 使用更现代的`Git`吧! :boom: +1. [swtrunk.sh](docs/vcs.md#beer-swtrunksh) + 自动`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 + PS: `Git`对应的是`git checkout master`,如果你使用了`oh-my-zsh`,已经有对应的别名加速了:`gcm`。 +1. [svn-merge-stop-on-copy.sh](docs/vcs.md#beer-svn-merge-stop-on-copysh) + 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 + PS:`Git`的合并很直接简单,`git merge branch-foo`,也更智能(没有树冲突一说)。 +1. [cp-svn-url.sh](docs/vcs.md#beer-cp-svn-urlsh) + 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 + PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 + :beer: [swtrunk.sh](../swtrunk.sh) ---------------------- -`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 -PS:`Git`对应的是`git checkout master`。如果你使用了`oh-my-zsh`,已经有对应的别名加速了:`gcm`。 +`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 命令以`svn`的标准目录命名约定来识别分支和主干。 即,分支在目录`branches`下,主干在目录`trunk`下。 @@ -51,8 +60,7 @@ svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/bran :beer: [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) ---------------------- -把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 -PS:`Git`的合并很直接简单,`git merge branch-foo`,也更智能(没有树冲突一说)。 +把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 ### 用法 @@ -77,8 +85,7 @@ svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://w :beer: [cp-svn-url.sh](../cp-svn-url.sh) ---------------------- -拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 - PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 +拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 ### 用法 From e5edf9e48d85ef313ac6b6acfb5ebe738e7966b6 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 29 Aug 2017 17:27:00 +0800 Subject: [PATCH 008/141] add contribution info --- docs/java.md | 6 +++--- docs/shell.md | 4 ++++ tcp-connection-state-counter.sh | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/java.md b/docs/java.md index 620feffb..9926c077 100644 --- a/docs/java.md +++ b/docs/java.md @@ -106,10 +106,10 @@ $ show-busy-java-threads.sh ### 贡献者 -- [silentforce](https://github.com/silentforce)改进此脚本,增加对环境变量`JAVA_HOME`的判断。 #15 +- [silentforce](https://github.com/silentforce)改进此脚本,增加对环境变量`JAVA_HOME`的判断。 [#15](https://github.com/oldratlee/useful-scripts/pull/15) - [liuyangc3](https://github.com/liuyangc3) - - 优化性能,通过`read -a`简化反复的`awk`操作 #51 - - 发现并解决`jstack`非当前用户`Java`进程的问题 #50 + - 发现并解决`jstack`非当前用户`Java`进程的问题。 [#50](https://github.com/oldratlee/useful-scripts/pull/50) + - 优化性能,通过`read -a`简化反复的`awk`操作。 [#51](https://github.com/oldratlee/useful-scripts/pull/51) :beer: [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- diff --git a/docs/shell.md b/docs/shell.md index bfb67447..4bc3abaf 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -233,6 +233,10 @@ TIME_WAIT 212 SYN_SENT 17 ``` +### 贡献者 + +[sunuslee](https://github.com/sunuslee)改进此脚本,增加对`MacOS`的支持。 [#56](https://github.com/oldratlee/useful-scripts/pull/56) + `Shell`开发/测试加强 ==================================== diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter.sh index 6e1252f9..f95b3d3f 100755 --- a/tcp-connection-state-counter.sh +++ b/tcp-connection-state-counter.sh @@ -5,7 +5,8 @@ # @Usage # $ ./tcp-connection-state-counter.sh # -# @author Jerry Lee +# @author Jerry Lee(@oldratlee) +# @author @sunuslee # On MacOS, netstat need to using -p tcp to get only tcp output. [ -n "$(uname | grep Darwin)" ] && option_for_mac="-ptcp" From e8c93f7cd00f5ffe483e574bc6dee80e12a97154 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 1 Sep 2017 11:09:34 +0800 Subject: [PATCH 009/141] clean code --- c | 2 +- tcp-connection-state-counter.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/c b/c index 377289f9..13eb0ac3 100755 --- a/c +++ b/c @@ -3,7 +3,7 @@ # Run command and put output to system clipper. # # @Usage -# $ ./c echo "hello world!" +# $ c echo "hello world!" # $ echo "hello world!" | c # # @author Jerry Lee diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter.sh index f95b3d3f..79b7ea6e 100755 --- a/tcp-connection-state-counter.sh +++ b/tcp-connection-state-counter.sh @@ -9,7 +9,7 @@ # @author @sunuslee # On MacOS, netstat need to using -p tcp to get only tcp output. -[ -n "$(uname | grep Darwin)" ] && option_for_mac="-ptcp" +uname | grep Darwin -q && option_for_mac="-ptcp" netstat -tna $option_for_mac | awk 'NR > 2 { s[$NF]++ @@ -17,6 +17,6 @@ netstat -tna $option_for_mac | awk 'NR > 2 { END { for(v in s) { - printf "%-12s%s\n", v, s[v] + printf "%-11s %s\n", v, s[v] } }' | sort -nr -k2,2 From 0ee942e9696ade34819310932a44e87f2fd2cb62 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 3 Sep 2017 18:38:15 +0800 Subject: [PATCH 010/141] parse option by hand instead of getopt, so as to support mac --- find-in-jars.sh | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index 25382cdb..2eae106c 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -9,7 +9,7 @@ # # @author Jerry Lee -PROG=`basename $0` +readonly PROG=`basename $0` usage() { cat < Date: Sun, 3 Sep 2017 18:58:10 +0800 Subject: [PATCH 011/141] add os support info #13 --- docs/java.md | 15 +++++++++++---- docs/shell.md | 23 ++++++++++++++++------- docs/vcs.md | 9 ++++++--- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/docs/java.md b/docs/java.md index 9926c077..e10d5f69 100644 --- a/docs/java.md +++ b/docs/java.md @@ -27,7 +27,8 @@ :beer: [show-busy-java-threads.sh](../show-busy-java-threads.sh) ---------------------- -用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 +用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 +目前只支持`Linux`。原因是`Mac`、`Windows`的`ps`命令不支持列出线程线程,更多信息参见[#33](https://github.com/oldratlee/useful-scripts/issues/33),欢迎提供解法。 PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布式Java应用》的【5.1.1 cpu消耗分析】一节,说得很详细: @@ -114,7 +115,8 @@ $ show-busy-java-threads.sh :beer: [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- -找出`Java Lib`(`Java`库,即`Jar`文件)或`Class`目录(类目录)中的重复类。 +找出`Java Lib`(`Java`库,即`Jar`文件)或`Class`目录(类目录)中的重复类。 +全系统支持(`Python`实现,安装`Python`即可),如`Linux`、`Mac`、`Windows`。 `Java`开发的一个麻烦的问题是`Jar`冲突(即多个版本的`Jar`),或者说重复类。会出`NoSuchMethod`等的问题,还不见得当时出问题。找出有重复类的`Jar`,可以防患未然。 @@ -264,15 +266,20 @@ class paths to find: :beer: [find-in-jars.sh](../find-in-jars.sh) ---------------------- -在当前目录下所有`jar`文件里,查找类或资源文件。 +在当前目录下所有`jar`文件里,查找类或资源文件。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 ### 用法 ```bash +# 在当前目录下所有`jar`文件里,查找类或资源文件。 find-in-jars.sh 'log4j\.properties' -find-in-jars.sh 'log4j\.xml$' -d /path/to/find/directory +find-in-jars.sh 'log4j\.xml$' find-in-jars.sh log4j\\.xml find-in-jars.sh 'log4j\.properties|log4j\.xml' + +# -d选项 指定 查找目录(覆盖缺省的当前目录) +find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory ``` 注意,后面Pattern是`grep`的 **扩展**正则表达式。 diff --git a/docs/shell.md b/docs/shell.md index 4bc3abaf..fa5fea46 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -43,7 +43,8 @@ :beer: [c](../c) ---------------------- -原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`,`CTRL+V`操作。支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 +原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`,`CTRL+V`操作。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 命令名`c`意思是`Copy`,因为这个命令我平时非常常用,所以使用一个字符的命令名,方便键入。 @@ -81,7 +82,8 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com :beer: [colines](../colines) ---------------------- -彩色`cat`出文件行,方便人眼区分不同的行。 +彩色`cat`出文件行,方便人眼区分不同的行。 +全系统支持(`Python`实现,安装`Python`即可),如`Linux`、`Mac`、`Windows`。 命令名`colines`意思是`COLorful LINES`。 @@ -114,7 +116,8 @@ file2 line2 :beer: [a2l](../a2l) ---------------------- -按行彩色输出参数,方便人眼查看。 +按行彩色输出参数,方便人眼查看。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 命令名`a2l`意思是`Arguments to(2) Lines`。 @@ -141,7 +144,8 @@ test-cases/self-installer.sh :beer: [ap](../ap) and [rp](../rp) ---------------------- -批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 +批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 命令名`ap`意思是`Absolute Path`,`rp`是`Relative Path`。 @@ -173,6 +177,7 @@ $ rp /home /etc/../etc /home/admin ---------------------- 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 * `xpl`:在文件浏览器中打开指定的文件或文件夹。 \# `xpl`是`explorer`的缩写。 @@ -210,7 +215,8 @@ xpf /path/to/dir1 /path/to/foo1.txt :beer: [tcp-connection-state-counter.sh](../tcp-connection-state-counter.sh) ---------------------- -统计各个`TCP`连接状态的个数。 +统计各个`TCP`连接状态的个数。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 像`Nginx`、`Apache`的机器上需要查看,`TCP`连接的个数,以判定 @@ -243,7 +249,8 @@ SYN_SENT 17 :beer: [echo-args.sh](../echo-args.sh) ---------------------- -在编写脚本时,常常要确认输入参数是否是期望的:参数个数,参数值(可能包含有人眼不容易发现的空格问题)。 +在编写脚本时,常常要确认输入参数是否是期望的:参数个数,参数值(可能包含有人眼不容易发现的空格问题)。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 这个脚本输出脚本收到的参数。在控制台运行时,把参数值括起的括号显示成 **红色**,方便人眼查看。 @@ -269,7 +276,8 @@ $ ./echo-args.sh 1 " 2 foo " "3 3" :beer: [console-text-color-themes.sh](../console-text-color-themes.sh) ---------------------- -显示`Terminator`的全部文字彩色组合的效果及其打印方式。 +显示`Terminator`的全部文字彩色组合的效果及其打印方式。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 脚本中,也给出了`colorEcho`和`colorEchoWithoutNewLine`函数更方便输出彩色文本,用法: @@ -300,6 +308,7 @@ colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" ---------------------- 提供命令行选项解析函数`parseOpts`,以加强支持选项的值有多个值(即数组)。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 \# 自己写一个命令行选项解析函数,是因为[`bash`](http://linux.die.net/man/1/bash)的`buildin`命令[`getopts`](http://linux.die.net/man/1/getopts)和加强版本命令[`getopt`](http://linux.die.net/man/1/getopt)都不支持数组的值。 指定选项的多个值(即数组)的风格模仿[`find`](http://linux.die.net/man/1/find)命令的`-exec`选项: diff --git a/docs/vcs.md b/docs/vcs.md index 77abe0f4..cdf58678 100644 --- a/docs/vcs.md +++ b/docs/vcs.md @@ -23,7 +23,8 @@ :beer: [swtrunk.sh](../swtrunk.sh) ---------------------- -`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 +`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 命令以`svn`的标准目录命名约定来识别分支和主干。 即,分支在目录`branches`下,主干在目录`trunk`下。 @@ -60,7 +61,8 @@ svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/bran :beer: [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) ---------------------- -把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 +把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 ### 用法 @@ -85,7 +87,8 @@ svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://w :beer: [cp-svn-url.sh](../cp-svn-url.sh) ---------------------- -拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 +拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 ### 用法 From 2809fba483aa2d0e972811159972f5ad0529a930 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 3 Sep 2017 19:28:03 +0800 Subject: [PATCH 012/141] support multiply find dir --- docs/java.md | 28 +++++++++++++++++++++++++--- find-in-jars.sh | 22 +++++++++++++--------- 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/docs/java.md b/docs/java.md index e10d5f69..66d0395d 100644 --- a/docs/java.md +++ b/docs/java.md @@ -275,11 +275,13 @@ class paths to find: # 在当前目录下所有`jar`文件里,查找类或资源文件。 find-in-jars.sh 'log4j\.properties' find-in-jars.sh 'log4j\.xml$' -find-in-jars.sh log4j\\.xml -find-in-jars.sh 'log4j\.properties|log4j\.xml' +find-in-jars.sh log4j\\.xml$ # 和上面命令一样,Shell转义的不同写法而已 +find-in-jars.sh '/(log4j\.properties|log4j\.xml)$' # -d选项 指定 查找目录(覆盖缺省的当前目录) -find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory +find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory +# 支持多个查找目录 +find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 ``` 注意,后面Pattern是`grep`的 **扩展**正则表达式。 @@ -287,9 +289,29 @@ find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory ### 示例 ```bash +# 在当前目录下的所有Jar文件中,查找出 log4j.properties文件 +$ find-in-jars.sh 'log4j\.properties$' +./hadoop-core-0.20.2-cdh3u3.jar!log4j.properties + +# 查找出 以Service结尾的类 $ ./find-in-jars 'Service.class$' ./WEB-INF/libs/spring-2.5.6.SEC03.jar!org/springframework/stereotype/Service.class ./rpc-benchmark-0.0.1-SNAPSHOT.jar!com/taobao/rpc/benchmark/service/HelloService.class +...... + +# 在指定的多个目录的Jar文件中,查找出 properties文件 +find-in-jars.sh '\.properties$' -d ../WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' +../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/ajc/messages.properties +../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/internal/compiler/parser/readableNames.properties +../WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties +../WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/weaver-messages.properties +../deploy/lib/groovy-all-1.1-rc-1.jar!groovy/ui/InteractiveShell.properties +../deploy/lib/groovy-all-1.1-rc-1.jar!org/codehaus/groovy/tools/shell/CommandAlias.properties +../deploy/lib/httpcore-4.3.3.jar!org/apache/http/version.properties +../deploy/lib/httpmime-4.2.2.jar!org/apache/http/entity/mime/version.properties +../deploy/lib/javax.servlet-api-3.0.1.jar!javax/servlet/LocalStrings_fr.properties +../deploy/lib/javax.servlet-api-3.0.1.jar!javax/servlet/http/LocalStrings_es.properties +...... ``` ### 参考资料 diff --git a/find-in-jars.sh b/find-in-jars.sh index 2eae106c..03ad0d0d 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -14,12 +14,16 @@ readonly PROG=`basename $0` usage() { cat < Date: Sun, 3 Sep 2017 19:55:08 +0800 Subject: [PATCH 013/141] support JAVA_HOME check for find-in-jars.sh --- find-in-jars.sh | 30 +++++++++++++++++++++++++++--- show-busy-java-threads.sh | 12 ++++++++---- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index 03ad0d0d..864a8a3a 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -12,7 +12,10 @@ readonly PROG=`basename $0` usage() { - cat < $out cat <&2 ; usage 1; } +[ "${#args[@]}" -gt 1 ] && { echo "More than 1 file pattern!" 1>&2 ; usage 1; } readonly pattern="${args[0]}" +################################################################################ +# Check the existence of jar command! +################################################################################ + +if ! which jar &> /dev/null; then + [ -z "$JAVA_HOME" ] && { + echo "Error: jar not found on PATH!" 1>&2 + exit 1 + } + ! [ -f "$JAVA_HOME/bin/jar" ] && { + echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) file does NOT exists!" 1>&2 + exit 1 + } + ! [ -x "$JAVA_HOME/bin/jar" ] && { + echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) is NOT executalbe!" 1>&2 + exit 1 + } + export PATH="$JAVA_HOME/bin:$PATH" +fi + ################################################################################ # find logic ################################################################################ diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index ef952f5a..059a1066 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -11,7 +11,10 @@ readonly PROG=`basename $0` readonly -a COMMAND_LINE=("$0" "$@") usage() { - cat < $out cat < /dev/null; then [ -z "$JAVA_HOME" ] && { - redEcho "Error: jstack not found on PATH!" + redEcho "Error: jstack not found on PATH!" 1>&2 exit 1 } ! [ -f "$JAVA_HOME/bin/jstack" ] && { - redEcho "Error: jstack not found on PATH and $JAVA_HOME/bin/jstack file does NOT exists!" + redEcho "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists!" 1>&2 exit 1 } ! [ -x "$JAVA_HOME/bin/jstack" ] && { - redEcho "Error: jstack not found on PATH and $JAVA_HOME/bin/jstack is NOT executalbe!" + redEcho "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe!" 1>&2 exit 1 } export PATH="$JAVA_HOME/bin:$PATH" From 98c4f1273e8701fa5727d72b6fe324abbaa3904b Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 3 Sep 2017 20:28:22 +0800 Subject: [PATCH 014/141] improve docs --- README.md | 8 +++--- docs/shell.md | 77 ++++++++++++++++++++++++++------------------------- 2 files changed, 43 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 5a33dd5c..cbddef25 100644 --- a/README.md +++ b/README.md @@ -35,17 +35,17 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m `Shell`使用加强: 1. [c](docs/shell.md#beer-c) - 原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`,`CTRL+V`操作。 + 原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`操作,优化命令行与其它应用之间的操作流。 1. [colines](docs/shell.md#beer-colines) 彩色`cat`出文件行,方便人眼区分不同的行。 1. [a2l](docs/shell.md#beer-a2l) 按行彩色输出参数,方便人眼查看。 1. [ap and rp](docs/shell.md#beer-ap-and-rp) 批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 -1. [xpl and xpf](docs/shell.md#beer-xpl-and-xpf) - 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作。 1. [tcp-connection-state-counter.sh](docs/shell.md#beer-tcp-connection-state-countersh) 统计各个`TCP`连接状态的个数。用于方便排查系统连接负荷问题。 +1. [xpl and xpf](docs/shell.md#beer-xpl-and-xpf) + 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。 `Shell`开发/测试加强: @@ -54,7 +54,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 1. [console-text-color-themes.sh](docs/shell.md#beer-console-text-color-themessh) 显示`Terminator`的全部文字彩色组合的效果及其打印方式,用于开发`Shell`的彩色输出。 1. [parseOpts.sh](docs/shell.md#beer-parseoptssh) - 提供命令行选项解析函数`parseOpts`。用于加强支持选项的值有多个值(即数组)。 + 命令行选项解析库,加强支持选项有多个值(即数组)。 ### :watch: [`VCS`相关脚本](docs/vcs.md) diff --git a/docs/shell.md b/docs/shell.md index fa5fea46..09314b22 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -15,25 +15,26 @@ - [示例](#%E7%A4%BA%E4%BE%8B-2) - [:beer: ap and rp](#beer-ap-and-rp) - [示例](#%E7%A4%BA%E4%BE%8B-3) - - [:beer: xpl and xpf](#beer-xpl-and-xpf) + - [:beer: tcp-connection-state-counter.sh](#beer-tcp-connection-state-countersh) - [用法](#%E7%94%A8%E6%B3%95) - [示例](#%E7%A4%BA%E4%BE%8B-4) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85) - - [:beer: tcp-connection-state-counter.sh](#beer-tcp-connection-state-countersh) + - [:beer: xpl and xpf](#beer-xpl-and-xpf) - [用法](#%E7%94%A8%E6%B3%95-1) - [示例](#%E7%A4%BA%E4%BE%8B-5) + - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-1) - [`Shell`开发/测试加强](#shell%E5%BC%80%E5%8F%91%E6%B5%8B%E8%AF%95%E5%8A%A0%E5%BC%BA) - [:beer: echo-args.sh](#beer-echo-argssh) - [示例](#%E7%A4%BA%E4%BE%8B-6) - [使用方式](#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) - [:beer: console-text-color-themes.sh](#beer-console-text-color-themessh) - - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-1) + - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-2) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99-1) - [:beer: parseOpts.sh](#beer-parseoptssh) - [用法](#%E7%94%A8%E6%B3%95-2) - [示例](#%E7%A4%BA%E4%BE%8B-7) - [兼容性](#%E5%85%BC%E5%AE%B9%E6%80%A7) - - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-2) + - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-3) @@ -43,7 +44,7 @@ :beer: [c](../c) ---------------------- -原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`,`CTRL+V`操作。 +原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`操作,优化命令行与其它应用之间的操作流。 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 命令名`c`意思是`Copy`,因为这个命令我平时非常常用,所以使用一个字符的命令名,方便键入。 @@ -173,10 +174,41 @@ $ rp /home /etc/../etc /home/admin ../../etc ``` +:beer: [tcp-connection-state-counter.sh](../tcp-connection-state-counter.sh) +---------------------- + +统计各个`TCP`连接状态的个数。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 + +像`Nginx`、`Apache`的机器上需要查看,`TCP`连接的个数,以判定 + +- 连接数、负荷 +- 是否有攻击,查看`SYN_RECV`数(`SYN`攻击) +- `TIME_WAIT`数,太多会导致`TCP: time wait bucket table overflow`。 + +### 用法 + +```bash +tcp-connection-state-counter.sh +``` + +### 示例 + +```bash +$ tcp-connection-state-counter.sh +ESTABLISHED 290 +TIME_WAIT 212 +SYN_SENT 17 +``` + +### 贡献者 + +[sunuslee](https://github.com/sunuslee)改进此脚本,增加对`MacOS`的支持。 [#56](https://github.com/oldratlee/useful-scripts/pull/56) + :beer: [xpl](../xpl) and [xpf](../xpf) ---------------------- -在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作。 +在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 * `xpl`:在文件浏览器中打开指定的文件或文件夹。 @@ -212,37 +244,6 @@ xpf /path/to/dir1 /path/to/foo1.txt [Linhua Tan](https://github.com/toolchainX)修复Linux的选定Bug。 -:beer: [tcp-connection-state-counter.sh](../tcp-connection-state-counter.sh) ----------------------- - -统计各个`TCP`连接状态的个数。 -支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 - -像`Nginx`、`Apache`的机器上需要查看,`TCP`连接的个数,以判定 - -- 连接数、负荷 -- 是否有攻击,查看`SYN_RECV`数(`SYN`攻击) -- `TIME_WAIT`数,太多会导致`TCP: time wait bucket table overflow`。 - -### 用法 - -```bash -tcp-connection-state-counter.sh -``` - -### 示例 - -```bash -$ tcp-connection-state-counter.sh -ESTABLISHED 290 -TIME_WAIT 212 -SYN_SENT 17 -``` - -### 贡献者 - -[sunuslee](https://github.com/sunuslee)改进此脚本,增加对`MacOS`的支持。 [#56](https://github.com/oldratlee/useful-scripts/pull/56) - `Shell`开发/测试加强 ==================================== @@ -307,7 +308,7 @@ colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" :beer: [parseOpts.sh](../parseOpts.sh) ---------------------- -提供命令行选项解析函数`parseOpts`,以加强支持选项的值有多个值(即数组)。 +命令行选项解析库,加强支持选项有多个值(即数组)。 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 \# 自己写一个命令行选项解析函数,是因为[`bash`](http://linux.die.net/man/1/bash)的`buildin`命令[`getopts`](http://linux.die.net/man/1/getopts)和加强版本命令[`getopt`](http://linux.die.net/man/1/getopt)都不支持数组的值。 From 1fc953c98f71beeafee3ab7053abe0101a4815e3 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 3 Sep 2017 21:32:37 +0800 Subject: [PATCH 015/141] improve find-in-jars.sh, output responsive message when interactive mode --- find-in-jars.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/find-in-jars.sh b/find-in-jars.sh index 864a8a3a..09db5073 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -82,9 +82,30 @@ fi ################################################################################ # find logic ################################################################################ +[ -c /dev/stdout ] && readonly is_console=true || readonly is_console=false + +clear_line_if_is_console() { + # How to delete line with echo? + # https://unix.stackexchange.com/questions/26576 + # + # terminal escapes: http://ascii-table.com/ansi-escape-sequences.php + # In particular, to clear from the cursor position to the beginning of the line: + # echo -e "\033[1K" + # Or everything on the line, regardless of cursor position: + # echo -e "\033[2K" + $is_console && echo -n -e "\033[2K\\r" +} + find "${dirs[@]}" -iname '*.jar' | while read jarFile; do + + $is_console && echo -n "finding in jar: $jarFile" + jar tf "${jarFile}" | grep -E "$pattern" | while read file; do + clear_line_if_is_console + echo "${jarFile}"\!"${file}" done + + clear_line_if_is_console done From c49aa832b0f4f963e0a8aebfac1116f9eafad9f9 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 3 Sep 2017 21:46:18 +0800 Subject: [PATCH 016/141] improve find-in-jars.sh, output progress message when interactive mode --- find-in-jars.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index 09db5073..32dac737 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -97,15 +97,19 @@ clear_line_if_is_console() { } -find "${dirs[@]}" -iname '*.jar' | while read jarFile; do +readonly jar_files="$(find "${dirs[@]}" -iname '*.jar')" +readonly total_count="$(echo "$jar_files" | wc -l)" - $is_console && echo -n "finding in jar: $jarFile" +counter=1 +while read jar_file; do + $is_console && echo -n "finding in jar($((counter++))/$total_count): $jar_file" - jar tf "${jarFile}" | grep -E "$pattern" | while read file; do + jar tf "${jar_file}" | grep -E "$pattern" | while read file; do clear_line_if_is_console - echo "${jarFile}"\!"${file}" + echo "${jar_file}"\!"${file}" done clear_line_if_is_console -done + +done < <(echo "$jar_files") From 7e0089b3d45f984140ee934fa0ece01dd8b285ea Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 4 Sep 2017 15:11:50 +0800 Subject: [PATCH 017/141] improve performance: use zipinfo instead jar, speed up ~25 times --- find-in-jars.sh | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index 32dac737..a359ae7f 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -60,23 +60,30 @@ dirs=${dirs:-.} readonly pattern="${args[0]}" ################################################################################ -# Check the existence of jar command! +# Check the existence of command for listing zip entry! ################################################################################ -if ! which jar &> /dev/null; then - [ -z "$JAVA_HOME" ] && { - echo "Error: jar not found on PATH!" 1>&2 - exit 1 - } - ! [ -f "$JAVA_HOME/bin/jar" ] && { - echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) file does NOT exists!" 1>&2 - exit 1 - } - ! [ -x "$JAVA_HOME/bin/jar" ] && { - echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) is NOT executalbe!" 1>&2 - exit 1 - } - export PATH="$JAVA_HOME/bin:$PATH" +if which zipinfo &> /dev/null; then + # `zipinfo -1` is ~25 times faster than `jar tf`, find zipinfo command first. + readonly command_for_list_zip='zipinfo -1' +else + if ! which jar &> /dev/null; then + [ -z "$JAVA_HOME" ] && { + echo "Error: jar not found on PATH!" 1>&2 + exit 1 + } + ! [ -f "$JAVA_HOME/bin/jar" ] && { + echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) file does NOT exists!" 1>&2 + exit 1 + } + ! [ -x "$JAVA_HOME/bin/jar" ] && { + echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) is NOT executalbe!" 1>&2 + exit 1 + } + export PATH="$JAVA_HOME/bin:$PATH" + fi + + readonly command_for_list_zip='jar tf' fi ################################################################################ @@ -104,7 +111,7 @@ counter=1 while read jar_file; do $is_console && echo -n "finding in jar($((counter++))/$total_count): $jar_file" - jar tf "${jar_file}" | grep -E "$pattern" | while read file; do + $command_for_list_zip "${jar_file}" | grep -E "$pattern" | while read file; do clear_line_if_is_console echo "${jar_file}"\!"${file}" From ef4140da9d7e6590236684ab76c2c6164861a767 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 4 Sep 2017 15:49:29 +0800 Subject: [PATCH 018/141] support force jstack --- docs/java.md | 4 +++- show-busy-java-threads.sh | 11 ++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/java.md b/docs/java.md index 66d0395d..f474f128 100644 --- a/docs/java.md +++ b/docs/java.md @@ -52,6 +52,8 @@ show-busy-java-threads.sh show-busy-java-threads.sh -c <要显示的线程栈数> show-busy-java-threads.sh -c <要显示的线程栈数> -p <指定的Java Process> +# -F选项:执行jstack命令时加上-F选项(强制jstack),一般情况不需要使用 +show-busy-java-threads.sh -p <指定的Java Process> -F ############################## # 注意: @@ -300,7 +302,7 @@ $ ./find-in-jars 'Service.class$' ...... # 在指定的多个目录的Jar文件中,查找出 properties文件 -find-in-jars.sh '\.properties$' -d ../WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' +$ find-in-jars.sh '\.properties$' -d ../WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' ../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/ajc/messages.properties ../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/internal/compiler/parser/readableNames.properties ../WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 059a1066..782d7c27 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -23,13 +23,14 @@ Options: -p, --pid find out the highest cpu consumed threads from the specifed java process, default from all java process. -c, --count set the thread count to show, default is 5 + -F, --force set jstack to force a thread dump(use jstack -F option) -h, --help display this help and exit EOF exit $1 } -readonly ARGS=`getopt -n "$PROG" -a -o c:p:h -l count:,pid:,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o c:p:Fh -l count:,pid:,force,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -43,6 +44,10 @@ while true; do pid="$2" shift 2 ;; + -F|--force) + force=-F + shift 1 + ;; -h|--help) usage ;; @@ -120,10 +125,10 @@ printStackOfThreads() { [ ! -f "${jstackFile}" ] && { { if [ "${user}" == "${USER}" ]; then - jstack ${pid} > ${jstackFile} + jstack ${force} ${pid} > ${jstackFile} else if [ $UID == 0 ]; then - sudo -u ${user} jstack ${pid} > ${jstackFile} + sudo -u ${user} jstack ${force} ${pid} > ${jstackFile} else redEcho "[$((count++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." redEcho "User of java process($user) is not current user($USER), need sudo to run again:" From 943aa9477c29cb685c18c5218b5a6ae3016eec85 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 4 Sep 2017 16:15:04 +0800 Subject: [PATCH 019/141] add title image for README --- README.md | 2 ++ docs/script-icon.png | Bin 0 -> 9564 bytes docs/script-logo.png | Bin 0 -> 17238 bytes 3 files changed, 2 insertions(+) create mode 100644 docs/script-icon.png create mode 100644 docs/script-logo.png diff --git a/README.md b/README.md index cbddef25..c117cdad 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ :snail: useful-scripts [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) ==================================== + + [![GitHub stars](https://img.shields.io/github/stars/oldratlee/useful-scripts.svg?style=social&label=Star&)](https://github.com/oldratlee/useful-scripts/stargazers) [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) diff --git a/docs/script-icon.png b/docs/script-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70396574c432d397a2035f4c20b25d572dabdf3b GIT binary patch literal 9564 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 BFI@lt literal 0 HcmV?d00001 From ecee3833d44151aa92c19ff74a2ca6ddf774658c Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 4 Sep 2017 21:51:42 +0800 Subject: [PATCH 020/141] fix bug: redundant responsive message ensure no redundant responsive message when output line is wider than COLUMNS --- find-in-jars.sh | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index a359ae7f..8e5873ee 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -89,9 +89,24 @@ fi ################################################################################ # find logic ################################################################################ + [ -c /dev/stdout ] && readonly is_console=true || readonly is_console=false -clear_line_if_is_console() { +# Getting console width using a bash script +# https://unix.stackexchange.com/questions/299067 +$is_console && readonly columns=$(stty size | awk '{print $2}') + +print_responsive_message() { + $is_console || return + + local message="$*" + # http://www.linuxforums.org/forum/red-hat-fedora-linux/142825-how-truncate-string-bash-script.html + echo -n "${message:0:columns}" +} + +clear_responsive_message() { + $is_console || return + # How to delete line with echo? # https://unix.stackexchange.com/questions/26576 # @@ -100,7 +115,7 @@ clear_line_if_is_console() { # echo -e "\033[1K" # Or everything on the line, regardless of cursor position: # echo -e "\033[2K" - $is_console && echo -n -e "\033[2K\\r" + echo -n -e "\033[2K\\r" } @@ -109,14 +124,14 @@ readonly total_count="$(echo "$jar_files" | wc -l)" counter=1 while read jar_file; do - $is_console && echo -n "finding in jar($((counter++))/$total_count): $jar_file" + print_responsive_message "finding in jar($((counter++))/$total_count): $jar_file" $command_for_list_zip "${jar_file}" | grep -E "$pattern" | while read file; do - clear_line_if_is_console + clear_responsive_message echo "${jar_file}"\!"${file}" done - clear_line_if_is_console + clear_responsive_message done < <(echo "$jar_files") From 850e30508dc111ed71ccac92fab9baa70c478274 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 7 Sep 2017 22:21:11 +0800 Subject: [PATCH 021/141] find-in-jars.sh: find unzip command for zip list --- find-in-jars.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index 8e5873ee..96ef4c5e 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -63,9 +63,14 @@ readonly pattern="${args[0]}" # Check the existence of command for listing zip entry! ################################################################################ +# `zipinfo -1`/`unzip -Z1` is ~25 times faster than `jar tf`, find zipinfo/unzip command first. +# +# How to list files in a zip without extra information in command line +# https://unix.stackexchange.com/a/128304/136953 if which zipinfo &> /dev/null; then - # `zipinfo -1` is ~25 times faster than `jar tf`, find zipinfo command first. readonly command_for_list_zip='zipinfo -1' +elif which unzip &> /dev/null; then + readonly command_for_list_zip='unzip -Z1' else if ! which jar &> /dev/null; then [ -z "$JAVA_HOME" ] && { From fda5331ed44bfcf290dfad2a120ab13126214235 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 12 Sep 2017 15:38:21 +0800 Subject: [PATCH 022/141] compress png file with pngcrush --- docs/console-colorful-text.png | Bin 329810 -> 230815 bytes docs/script-logo.png | Bin 17238 -> 12524 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/console-colorful-text.png b/docs/console-colorful-text.png index ce0fa92ee399b1ace2c6e1adca9419af78b3fc83..1a314ec5bbf046232dbf8f92291677e9d602098b 100644 GIT binary patch literal 230815 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%0D1-2DreG6y}jA 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

JtZV3p0*`YJ-ovk7+btKSkwdgkdNRDF36^4tpJP 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 diff --git a/docs/script-logo.png b/docs/script-logo.png index 2fed747158ae5a39c10e8b6c7084eb2d5d81a69e..790aeaf60e1c91a2a467c883c6fbc13dbe3d9aed 100644 GIT binary patch literal 12524 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 PD*)COw&rh5J?{S>>|tp& literal 17238 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 BFI@lt From db807a7a2210ab00b458f1fe7295c0a8816ba677 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 18 Sep 2017 16:52:08 +0800 Subject: [PATCH 023/141] fix doc for find-in-jars.sh --- docs/java.md | 2 +- find-in-jars.sh | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/java.md b/docs/java.md index f474f128..a2d6e570 100644 --- a/docs/java.md +++ b/docs/java.md @@ -278,7 +278,7 @@ class paths to find: find-in-jars.sh 'log4j\.properties' find-in-jars.sh 'log4j\.xml$' find-in-jars.sh log4j\\.xml$ # 和上面命令一样,Shell转义的不同写法而已 -find-in-jars.sh '/(log4j\.properties|log4j\.xml)$' +find-in-jars.sh 'log4j(\.properties|\.xml)$' # -d选项 指定 查找目录(覆盖缺省的当前目录) find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory diff --git a/find-in-jars.sh b/find-in-jars.sh index 96ef4c5e..2b93d176 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -3,9 +3,10 @@ # Find file in the jar files under current directory # # @Usage -# $ find-in-jars.sh log4j\\.xml # $ find-in-jars.sh 'log4j\.properties' -# $ find-in-jars.sh 'log4j\.properties|log4j\.xml' +# $ find-in-jars.sh 'log4j(\.properties|\.xml)$' +# $ find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory +# $ find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 # # @author Jerry Lee @@ -21,11 +22,14 @@ Find file in the jar files under specified directory(recursive, include subdirec Pattern is *extended* regex. Example: - ${PROG} -d 'log4j\.properties' - ${PROG} -d libs 'log4j\.properties$' + ${PROG} 'log4j\.properties' + ${PROG} 'log4j(\.properties|\.xml)$' + ${PROG} 'log4j\.properties$' -d /path/to/find/directory + ${PROG} 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 Options: - -d, --dir the directory that find jar files, can specify multiply times + -d, --dir the directory that find jar files, default is current directory. + this option can specify multiply times to find in multiply directory. -h, --help display this help and exit EOF From bdf4eed634e6fc30bbdf3b5a331e8162916c1c51 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 18 Sep 2017 16:52:44 +0800 Subject: [PATCH 024/141] clean code: show-busy-java-threads.sh --- show-busy-java-threads.sh | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 782d7c27..3175b531 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -112,7 +112,7 @@ trap "cleanupWhenExit" EXIT printStackOfThreads() { local line - local count=1 + local counter=1 while IFS=" " read -a line ; do local pid=${line[0]} local threadId=${line[1]} @@ -121,30 +121,28 @@ printStackOfThreads() { local pcpu=${line[4]} local jstackFile=/tmp/${uuid}_${pid} - [ ! -f "${jstackFile}" ] && { { if [ "${user}" == "${USER}" ]; then jstack ${force} ${pid} > ${jstackFile} + elif [ $UID == 0 ]; then + sudo -u "${user}" jstack ${force} ${pid} > ${jstackFile} else - if [ $UID == 0 ]; then - sudo -u ${user} jstack ${force} ${pid} > ${jstackFile} - else - redEcho "[$((count++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - redEcho "User of java process($user) is not current user($USER), need sudo to run again:" - yellowEcho " sudo ${COMMAND_LINE[@]}" - echo - continue - fi + redEcho "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redEcho "User of java process($user) is not current user($USER), need sudo to run again:" + yellowEcho " sudo ${COMMAND_LINE[@]}" + echo + continue fi } || { - redEcho "[$((count++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redEcho "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." echo rm ${jstackFile} continue } } - blueEcho "[$((count++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" + + blueEcho "[$((counter++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" sed "/nid=${threadId0x} /,/^$/p" -n ${jstackFile} done } From 77bdce7eefe5b291b2f7f621e8ddbc05cfae23fa Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 22 Sep 2017 18:06:41 +0800 Subject: [PATCH 025/141] support different regex mode --- find-in-jars.sh | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/find-in-jars.sh b/find-in-jars.sh index 2b93d176..1365a880 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -4,7 +4,7 @@ # # @Usage # $ find-in-jars.sh 'log4j\.properties' -# $ find-in-jars.sh 'log4j(\.properties|\.xml)$' +# $ find-in-jars.sh '^log4j(\.properties|\.xml)$' # $ find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory # $ find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 # @@ -19,18 +19,22 @@ usage() { > $out cat < Date: Fri, 22 Sep 2017 18:59:38 +0800 Subject: [PATCH 026/141] improve corner case: no jar found --- docs/java.md | 2 +- find-in-jars.sh | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/java.md b/docs/java.md index a2d6e570..d836f414 100644 --- a/docs/java.md +++ b/docs/java.md @@ -286,7 +286,7 @@ find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 ``` -注意,后面Pattern是`grep`的 **扩展**正则表达式。 +注意,Pattern缺省是`grep`的 **扩展**正则表达式。 ### 示例 diff --git a/find-in-jars.sh b/find-in-jars.sh index 1365a880..0ab418d8 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -13,8 +13,7 @@ readonly PROG=`basename $0` usage() { - local out - [ -n "$1" -a "$1" != 0 ] && out=/dev/stderr || out=/dev/stdout + [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout > $out cat <&2 + exit 1 +} counter=1 while read jar_file; do From 0a4a34ab8ddcd4f715f80aaf9358d19c4c80e4ba Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 27 Sep 2017 22:50:05 +0800 Subject: [PATCH 027/141] support append file and stack path for show-busy-java-threads.sh --- show-busy-java-threads.sh | 109 +++++++++++++++++++++++++------------- 1 file changed, 71 insertions(+), 38 deletions(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 3175b531..301119c1 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -20,17 +20,19 @@ Find out the highest cpu consumed threads of java, and print the stack of these Example: ${PROG} -c 10 Options: - -p, --pid find out the highest cpu consumed threads from the specifed java process, - default from all java process. - -c, --count set the thread count to show, default is 5 - -F, --force set jstack to force a thread dump(use jstack -F option) - -h, --help display this help and exit + -p, --pid find out the highest cpu consumed threads from the specifed java process, + default from all java process. + -c, --count set the thread count to show, default is 5 + -a, --append-file specify the file to append output as log + -s, --jstack-path specify the path of jstack command + -F, --force set jstack to force a thread dump(use jstack -F option) + -h, --help display this help and exit EOF exit $1 } -readonly ARGS=`getopt -n "$PROG" -a -o c:p:Fh -l count:,pid:,force,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o c:p:a:s:Fh -l count:,pid:,append-file:,jstack-path:,force,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -44,6 +46,14 @@ while true; do pid="$2" shift 2 ;; + -a|--append-file) + append_file="$2" + shift 2 + ;; + -s|--jstack-path) + jstack_path="$2" + shift 2 + ;; -F|--force) force=-F shift 1 @@ -59,48 +69,64 @@ while true; do done count=${count:-5} -redEcho() { - [ -c /dev/stdout ] && { +colorPrint() { + local color=$1 + shift + if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;31m" + echo -ne "\033[1;${color}m" echo -n "$@" echo -e "\033[0m" - } || echo "$@" + else + echo "$@" + fi + + [ -n "$append_file" ] && echo "$@" >> "$append_file" } -yellowEcho() { - [ -c /dev/stdout ] && { - # if stdout is console, turn on color output. - echo -ne "\033[1;33m" - echo -n "$@" - echo -e "\033[0m" - } || echo "$@" +redPrint() { + colorPrint 31 "$@" } -blueEcho() { - [ -c /dev/stdout ] && { - # if stdout is console, turn on color output. - echo -ne "\033[1;36m" - echo -n "$@" - echo -e "\033[0m" - } || echo "$@" +greenPrint() { + colorPrint 32 "$@" } +yellowPrint() { + colorPrint 33 "$@" +} + +bluePrint() { + colorPrint 36 "$@" +} + +normalPrint() { + echo "$@" + + [ -z "$append_file" ] && echo "$@" >> "$append_file" +} + +if [ -n "$jstack_path" ]; then + ! [ -x "$jstack_path" ] && { + redPrint "Error: $jstack_path is NOT executalbe!" 1>&2 + exit 1 + } # Check the existence of jstack command! -if ! which jstack &> /dev/null; then +elif ! which jstack &> /dev/null; then [ -z "$JAVA_HOME" ] && { - redEcho "Error: jstack not found on PATH!" 1>&2 + redPrint "Error: jstack not found on PATH!" 1>&2 exit 1 } ! [ -f "$JAVA_HOME/bin/jstack" ] && { - redEcho "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists!" 1>&2 + redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists!" 1>&2 exit 1 } ! [ -x "$JAVA_HOME/bin/jstack" ] && { - redEcho "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe!" 1>&2 + redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe!" 1>&2 exit 1 } export PATH="$JAVA_HOME/bin:$PATH" + jstack_path="`which jstack`" fi readonly uuid=`date +%s`_${RANDOM}_$$ @@ -124,30 +150,37 @@ printStackOfThreads() { [ ! -f "${jstackFile}" ] && { { if [ "${user}" == "${USER}" ]; then - jstack ${force} ${pid} > ${jstackFile} + "$jstack_path" ${force} ${pid} > ${jstackFile} elif [ $UID == 0 ]; then - sudo -u "${user}" jstack ${force} ${pid} > ${jstackFile} + sudo -u "${user}" "$jstack_path" ${force} ${pid} > ${jstackFile} else - redEcho "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - redEcho "User of java process($user) is not current user($USER), need sudo to run again:" - yellowEcho " sudo ${COMMAND_LINE[@]}" - echo + redPrint "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "User of java process($user) is not current user($USER), need sudo to run again:" + yellowPrint " sudo ${COMMAND_LINE[@]}" + normalPrint continue fi } || { - redEcho "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - echo + redPrint "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + normalPrint rm ${jstackFile} continue } } - blueEcho "[$((counter++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" - sed "/nid=${threadId0x} /,/^$/p" -n ${jstackFile} + bluePrint "[$((counter++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" + sed "/nid=${threadId0x} /,/^$/p" -n ${jstackFile} | tee ${append_file+-a "$append_file"} done } +[ -n "$append_file" ] && { + echo ================================================================================ + echo "$(date "+%Y-%m-%d %H:%M:%S.%N"): ${COMMAND_LINE[@]}" + echo ================================================================================ + echo +} >> "$append_file" + ps -Leo pid,lwp,user,comm,pcpu --no-headers | { [ -z "${pid}" ] && awk '$4=="java"{print $0}' || From ee4dc67db0c3968f4769a4433df065d0d519f782 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 28 Sep 2017 00:20:41 +0800 Subject: [PATCH 028/141] support repeat times for show-busy-java-threads.sh --- show-busy-java-threads.sh | 49 +++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 301119c1..ac88b02c 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -20,19 +20,21 @@ Find out the highest cpu consumed threads of java, and print the stack of these Example: ${PROG} -c 10 Options: - -p, --pid find out the highest cpu consumed threads from the specifed java process, - default from all java process. - -c, --count set the thread count to show, default is 5 - -a, --append-file specify the file to append output as log - -s, --jstack-path specify the path of jstack command - -F, --force set jstack to force a thread dump(use jstack -F option) - -h, --help display this help and exit + -p, --pid find out the highest cpu consumed threads from the specifed java process, + default from all java process. + -c, --count set the thread count to show, default is 5 + -a, --append-file specify the file to append output as log + -t, --repeat-times specify the show times, default just show 1 time + -i, --interval seconds to wait between updates, default 3 seconds + -s, --jstack-path specify the path of jstack command + -F, --force set jstack to force a thread dump(use jstack -F option) + -h, --help display this help and exit EOF exit $1 } -readonly ARGS=`getopt -n "$PROG" -a -o c:p:a:s:Fh -l count:,pid:,append-file:,jstack-path:,force,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:t:i:s:Fh -l count:,pid:,append-file:,repeat-times:,interval:,jstack-path:,force,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -50,6 +52,14 @@ while true; do append_file="$2" shift 2 ;; + -t|--repeat-times) + repeat_times="$2" + shift 2 + ;; + -i|--interval) + interval="$2" + shift 2 + ;; -s|--jstack-path) jstack_path="$2" shift 2 @@ -68,6 +78,8 @@ while true; do esac done count=${count:-5} +repeat_times=${repeat_times:-1} +interval=${interval:-3} colorPrint() { local color=$1 @@ -174,15 +186,22 @@ printStackOfThreads() { } -[ -n "$append_file" ] && { +head_info() { echo ================================================================================ echo "$(date "+%Y-%m-%d %H:%M:%S.%N"): ${COMMAND_LINE[@]}" echo ================================================================================ echo -} >> "$append_file" +} + +for((i = 0; i < repeat_times; ++i)); do + [ "$i" -gt 0 ] && sleep "$interval" -ps -Leo pid,lwp,user,comm,pcpu --no-headers | { - [ -z "${pid}" ] && - awk '$4=="java"{print $0}' || - awk -v "pid=${pid}" '$1==pid,$4=="java"{print $0}' -} | sort -k5 -r -n | head --lines "${count}" | printStackOfThreads + [ -n "$append_file" ] && head_info >> "$append_file" + [ "$repeat_times" -gt 1 ] && head_info + + ps -Leo pid,lwp,user,comm,pcpu --no-headers | { + [ -z "${pid}" ] && + awk '$4=="java"{print $0}' || + awk -v "pid=${pid}" '$1==pid,$4=="java"{print $0}' + } | sort -k5 -r -n | head --lines "${count}" | printStackOfThreads +done From 2d614f5f8a3bd8482b5c8b7cf3a9e7064b5570f0 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 28 Sep 2017 00:37:48 +0800 Subject: [PATCH 029/141] update docs --- docs/java.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/docs/java.md b/docs/java.md index d836f414..f3c0326c 100644 --- a/docs/java.md +++ b/docs/java.md @@ -55,12 +55,39 @@ show-busy-java-threads.sh -c <要显示的线程栈数> -p <指定的Java Proces # -F选项:执行jstack命令时加上-F选项(强制jstack),一般情况不需要使用 show-busy-java-threads.sh -p <指定的Java Process> -F +show-busy-java-threads.sh -s <指定jstack命令的全路径> +# 对于sudo方式的运行,JAVA_HOME环境变量不能传递给root, +# 而root用户往往没有配置JAVA_HOME且不方便配置, +# 显式指定jstack命令的路径就反而显得更方便了 + +show-busy-java-threads.sh -a <输出记录到的文件> + +show-busy-java-threads.sh -t <重复执行的次数> -i <重复执行的间隔秒数> +# 缺省执行一次;执行间隔缺省是3秒 + ############################## # 注意: ############################## # 如果Java进程的用户 与 执行脚本的当前用户 不同,则jstack不了这个Java进程。 # 为了能切换到Java进程的用户,需要加sudo来执行,即可以解决: sudo show-busy-java-threads.sh + +# 帮助信息 +$ show-busy-java-threads.sh -h +Usage: show-busy-java-threads.sh [OPTION]... +Find out the highest cpu consumed threads of java, and print the stack of these threads. +Example: show-busy-java-threads.sh -c 10 + +Options: + -p, --pid find out the highest cpu consumed threads from the specifed java process, + default from all java process. + -c, --count set the thread count to show, default is 5 + -a, --append-file specify the file to append output as log + -t, --repeat-times specify the show times, default just show 1 time + -i, --interval seconds to wait between updates, default 3 seconds + -s, --jstack-path specify the path of jstack command + -F, --force set jstack to force a thread dump(use jstack -F option) + -h, --help display this help and exit ``` ### 示例 @@ -140,6 +167,15 @@ show-duplicate-java-classes -c path/to/class_dir1 -c /path/to/class_dir2 # 查找指定Class目录和指定目录下所有Jar中的重复类的Jar show-duplicate-java-classes path/to/lib_dir1 /path/to/lib_dir2 -c path/to/class_dir1 -c path/to/class_dir2 + +# 帮助信息 +$ show-duplicate-java-classes -h +Usage: show-duplicate-java-classes [-c class-dir1 [-c class-dir2] ...] [lib-dir1|jar-file1 [lib-dir2|jar-file2] ...] + +Options: + -h, --help show this help message and exit + -c CLASS_DIRS, --class-dir=CLASS_DIRS + add class dir ``` #### `JDK`开发场景使用说明 @@ -284,6 +320,27 @@ find-in-jars.sh 'log4j(\.properties|\.xml)$' find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory # 支持多个查找目录 find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 + +# 帮助信息 +$ find-in-jars.sh -h +Usage: find-in-jars.sh [OPTION]... PATTERN +Find file in the jar files under specified directory(recursive, include subdirectory). +The pattern default is *extended* regex. + +Example: + find-in-jars.sh 'log4j\.properties' + find-in-jars.sh '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root + find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory + find-in-jars.sh 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + +Options: + -d, --dir the directory that find jar files, default is current directory. + this option can specify multiply times to find in multiply directory. + -E, --extended-regexp PATTERN is an extended regular expression (*default*) + -F, --fixed-strings PATTERN is a set of newline-separated strings + -G, --basic-regexp PATTERN is a basic regular expression + -P, --perl-regexp PATTERN is a Perl regular expression + -h, --help display this help and exit ``` 注意,Pattern缺省是`grep`的 **扩展**正则表达式。 From 2c7002261b2443a1ee3a20e80715ba7ea6ea4fe7 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 30 Sep 2017 16:58:40 +0800 Subject: [PATCH 030/141] fix wrong condition --- show-busy-java-threads.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index ac88b02c..d6283a4b 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -115,7 +115,7 @@ bluePrint() { normalPrint() { echo "$@" - [ -z "$append_file" ] && echo "$@" >> "$append_file" + [ -n "$append_file" ] && echo "$@" >> "$append_file" } if [ -n "$jstack_path" ]; then @@ -193,7 +193,7 @@ head_info() { echo } -for((i = 0; i < repeat_times; ++i)); do +for ((i = 0; i < repeat_times; ++i)); do [ "$i" -gt 0 ] && sleep "$interval" [ -n "$append_file" ] && head_info >> "$append_file" From b2c192024be465d325c8043139f0282ef844fad8 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 30 Sep 2017 17:06:14 +0800 Subject: [PATCH 031/141] update docs --- docs/java.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/java.md b/docs/java.md index f3c0326c..6f5f144b 100644 --- a/docs/java.md +++ b/docs/java.md @@ -129,8 +129,9 @@ $ show-busy-java-threads.sh - `AppMonitorDataAvgScheduler.run`调用`DateFormat.format`次数比较频繁。 - `DateFormat.format`比较慢。(这个可以由`DateFormat.format`的实现确定。) -多个执行几次`show-busy-java-threads.sh`,如果上面情况高概率出现,则可以确定上面的判定。 -\# 因为调用越少代码执行越快,则出现在线程栈的概率就越低。 +多执行几次`show-busy-java-threads.sh`,如果上面情况高概率出现,则可以确定上面的判定。 +\# 因为调用越少代码执行越快,则出现在线程栈的概率就越低。 +\# 脚本有自动多次执行的功能,`-t`选项,详见使用文档。 分析`shared.monitor.schedule.AppMonitorDataAvgScheduler.run`实现逻辑和调用方式,以优化实现解决问题。 From 66f0856dc80d96b66d15a7c26c8122d5ae1cbfeb Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 1 Oct 2017 18:45:10 +0800 Subject: [PATCH 032/141] use argument not option to set update delay/count imitate vmstate style --- README.md | 5 ++++ docs/java.md | 22 ++++++++++++------ show-busy-java-threads.sh | 48 ++++++++++++++++++++------------------- 3 files changed, 45 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index c117cdad..a409b332 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,11 @@ 有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! :sparkling_heart: +PS: + +本仓库的脚本(如`Java`相关脚本)在阿里等公司(如随身云,见[`awesome-scripts`仓库](https://github.com/Suishenyun/awesome-scripts)说明)的线上生产环境部署使用。 +如果你的公司有部署使用,欢迎使用通过[提交Issue](https://github.com/oldratlee/useful-scripts/issues)告知,方便互相交流反馈~ :cupid: + :beginner: 快速下载&使用 ---------------------- diff --git a/docs/java.md b/docs/java.md index 6f5f144b..6b2179c0 100644 --- a/docs/java.md +++ b/docs/java.md @@ -61,9 +61,10 @@ show-busy-java-threads.sh -s <指定jstack命令的全路径> # 显式指定jstack命令的路径就反而显得更方便了 show-busy-java-threads.sh -a <输出记录到的文件> +# 记录到文件以方便回溯查看 -show-busy-java-threads.sh -t <重复执行的次数> -i <重复执行的间隔秒数> -# 缺省执行一次;执行间隔缺省是3秒 +show-busy-java-threads.sh <重复执行的间隔秒数> [<重复执行的次数>] +# 多次执行,类似vmstat行为 ############################## # 注意: @@ -74,20 +75,25 @@ sudo show-busy-java-threads.sh # 帮助信息 $ show-busy-java-threads.sh -h -Usage: show-busy-java-threads.sh [OPTION]... +Usage: show-busy-java-threads.sh [OPTION]... [delay [count]] Find out the highest cpu consumed threads of java, and print the stack of these threads. -Example: show-busy-java-threads.sh -c 10 + +Example: + show-busy-java-threads.sh # show busy java threads info + show-busy-java-threads.sh 1 # update every 1 seconds, (stop by eg: CTRL+C) + show-busy-java-threads.sh 3 10 # update every 3 seconds, update 10 times Options: -p, --pid find out the highest cpu consumed threads from the specifed java process, default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log - -t, --repeat-times specify the show times, default just show 1 time - -i, --interval seconds to wait between updates, default 3 seconds -s, --jstack-path specify the path of jstack command -F, --force set jstack to force a thread dump(use jstack -F option) -h, --help display this help and exit + delay the delay between updates in seconds. + count the number of updates. + the usage of delay/count imitates vmstat ``` ### 示例 @@ -131,7 +137,7 @@ $ show-busy-java-threads.sh 多执行几次`show-busy-java-threads.sh`,如果上面情况高概率出现,则可以确定上面的判定。 \# 因为调用越少代码执行越快,则出现在线程栈的概率就越低。 -\# 脚本有自动多次执行的功能,`-t`选项,详见使用文档。 +\# 脚本有自动多次执行的功能,指定 重复执行的间隔秒数/重复执行的次数 参数。 分析`shared.monitor.schedule.AppMonitorDataAvgScheduler.run`实现逻辑和调用方式,以优化实现解决问题。 @@ -141,6 +147,8 @@ $ show-busy-java-threads.sh - [liuyangc3](https://github.com/liuyangc3) - 发现并解决`jstack`非当前用户`Java`进程的问题。 [#50](https://github.com/oldratlee/useful-scripts/pull/50) - 优化性能,通过`read -a`简化反复的`awk`操作。 [#51](https://github.com/oldratlee/useful-scripts/pull/51) +- [superhj1987](https://github.com/superhj1987) / [lirenzuo](https://github.com/lirenzuo) + - 提供/实现多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) :beer: [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index d6283a4b..4ee53b34 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -6,6 +6,7 @@ # $ ./show-busy-java-threads.sh # # @author Jerry Lee +# @author superhj1987 readonly PROG=`basename $0` readonly -a COMMAND_LINE=("$0" "$@") @@ -15,26 +16,31 @@ usage() { [ -n "$1" -a "$1" != 0 ] && out=/dev/stderr || out=/dev/stdout > $out cat < find out the highest cpu consumed threads from the specifed java process, default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log - -t, --repeat-times specify the show times, default just show 1 time - -i, --interval seconds to wait between updates, default 3 seconds -s, --jstack-path specify the path of jstack command -F, --force set jstack to force a thread dump(use jstack -F option) -h, --help display this help and exit + delay the delay between updates in seconds. + count the number of updates. + the usage of delay/count imitates vmstat EOF exit $1 } -readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:t:i:s:Fh -l count:,pid:,append-file:,repeat-times:,interval:,jstack-path:,force,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:Fh -l count:,pid:,append-file:,jstack-path:,force,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -52,14 +58,6 @@ while true; do append_file="$2" shift 2 ;; - -t|--repeat-times) - repeat_times="$2" - shift 2 - ;; - -i|--interval) - interval="$2" - shift 2 - ;; -s|--jstack-path) jstack_path="$2" shift 2 @@ -78,8 +76,10 @@ while true; do esac done count=${count:-5} -repeat_times=${repeat_times:-1} -interval=${interval:-3} + +update_delay=${1:-0} +[ -z "$1" ] && update_count=1 || update_count=${2:-0} +[ $update_count -lt 0 ] && update_count=0 colorPrint() { local color=$1 @@ -120,11 +120,13 @@ normalPrint() { if [ -n "$jstack_path" ]; then ! [ -x "$jstack_path" ] && { - redPrint "Error: $jstack_path is NOT executalbe!" 1>&2 + redPrint "Error: $jstack_path is NOT found/executalbe!" 1>&2 exit 1 } -# Check the existence of jstack command! -elif ! which jstack &> /dev/null; then +elif which jstack &> /dev/null; then + # Check the existence of jstack command! + jstack_path="`which jstack`" +else [ -z "$JAVA_HOME" ] && { redPrint "Error: jstack not found on PATH!" 1>&2 exit 1 @@ -185,19 +187,19 @@ printStackOfThreads() { done } - head_info() { echo ================================================================================ - echo "$(date "+%Y-%m-%d %H:%M:%S.%N"): ${COMMAND_LINE[@]}" + echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$((i+1))/$update_count]: ${COMMAND_LINE[@]}" echo ================================================================================ echo } -for ((i = 0; i < repeat_times; ++i)); do - [ "$i" -gt 0 ] && sleep "$interval" +# if update_count <= 0, infinite loop till user interupted (eg: CTRL+C) +for ((i = 0; update_count <= 0 || i < update_count; ++i)); do + [ "$i" -gt 0 ] && sleep "$update_delay" [ -n "$append_file" ] && head_info >> "$append_file" - [ "$repeat_times" -gt 1 ] && head_info + [ "$update_count" -ne 1 ] && head_info ps -Leo pid,lwp,user,comm,pcpu --no-headers | { [ -z "${pid}" ] && From 3894d2e07bf107a16176e0f3ef83820051e60f23 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 2 Oct 2017 16:27:28 +0800 Subject: [PATCH 033/141] improve error msg for show-busy-java-threads.sh --- show-busy-java-threads.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 4ee53b34..1996f899 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -128,15 +128,15 @@ elif which jstack &> /dev/null; then jstack_path="`which jstack`" else [ -z "$JAVA_HOME" ] && { - redPrint "Error: jstack not found on PATH!" 1>&2 + redPrint "Error: jstack not found on PATH! Use -s option set jstack path manually." 1>&2 exit 1 } ! [ -f "$JAVA_HOME/bin/jstack" ] && { - redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists!" 1>&2 + redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists! Use -s option set jstack path manually." 1>&2 exit 1 } ! [ -x "$JAVA_HOME/bin/jstack" ] && { - redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe!" 1>&2 + redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." 1>&2 exit 1 } export PATH="$JAVA_HOME/bin:$PATH" From 7d3cf1a7a24992b44692d84d41a190938454c0df Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 2 Oct 2017 17:07:16 +0800 Subject: [PATCH 034/141] fix wrong USER var when run by `sudo -u` --- show-busy-java-threads.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 1996f899..9f441c61 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -11,6 +11,11 @@ readonly PROG=`basename $0` readonly -a COMMAND_LINE=("$0" "$@") +# Get corrent current user name via whoami command +# See get https://www.lifewire.com/current-linux-user-whoami-command-3867579 +# Because if use `sudo -u` to run command, env var $USER is not rewrited/correct, just inherited from outside! +readonly USER="`whoami`" + usage() { local out [ -n "$1" -a "$1" != 0 ] && out=/dev/stderr || out=/dev/stdout From a2bbd6dfccf58e4059c394cda565d3b9d89b05fd Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 3 Oct 2017 19:58:56 +0800 Subject: [PATCH 035/141] clean code --- docs/java.md | 10 +++++----- show-busy-java-threads.sh | 19 +++++++++---------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/docs/java.md b/docs/java.md index 6b2179c0..0a9c0ed0 100644 --- a/docs/java.md +++ b/docs/java.md @@ -64,7 +64,7 @@ show-busy-java-threads.sh -a <输出记录到的文件> # 记录到文件以方便回溯查看 show-busy-java-threads.sh <重复执行的间隔秒数> [<重复执行的次数>] -# 多次执行,类似vmstat行为 +# 多次执行;这2个参数的使用方式类似vmstat命令 ############################## # 注意: @@ -91,9 +91,9 @@ Options: -s, --jstack-path specify the path of jstack command -F, --force set jstack to force a thread dump(use jstack -F option) -h, --help display this help and exit - delay the delay between updates in seconds. - count the number of updates. - the usage of delay/count imitates vmstat + delay the delay between updates in seconds + count the number of updates + delay/count arguments imitates style of vmstat command ``` ### 示例 @@ -148,7 +148,7 @@ $ show-busy-java-threads.sh - 发现并解决`jstack`非当前用户`Java`进程的问题。 [#50](https://github.com/oldratlee/useful-scripts/pull/50) - 优化性能,通过`read -a`简化反复的`awk`操作。 [#51](https://github.com/oldratlee/useful-scripts/pull/51) - [superhj1987](https://github.com/superhj1987) / [lirenzuo](https://github.com/lirenzuo) - - 提供/实现多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) + - 提出/实现了多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) :beer: [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 9f441c61..52590aa7 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -8,7 +8,7 @@ # @author Jerry Lee # @author superhj1987 -readonly PROG=`basename $0` +readonly PROG="`basename $0`" readonly -a COMMAND_LINE=("$0" "$@") # Get corrent current user name via whoami command @@ -17,8 +17,7 @@ readonly -a COMMAND_LINE=("$0" "$@") readonly USER="`whoami`" usage() { - local out - [ -n "$1" -a "$1" != 0 ] && out=/dev/stderr || out=/dev/stdout + [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout > $out cat < specify the path of jstack command -F, --force set jstack to force a thread dump(use jstack -F option) -h, --help display this help and exit - delay the delay between updates in seconds. - count the number of updates. - the usage of delay/count imitates vmstat + delay the delay between updates in seconds + count the number of updates + delay/count arguments imitates style of vmstat command EOF exit $1 @@ -124,7 +123,7 @@ normalPrint() { } if [ -n "$jstack_path" ]; then - ! [ -x "$jstack_path" ] && { + [ ! -x "$jstack_path" ] && { redPrint "Error: $jstack_path is NOT found/executalbe!" 1>&2 exit 1 } @@ -136,11 +135,11 @@ else redPrint "Error: jstack not found on PATH! Use -s option set jstack path manually." 1>&2 exit 1 } - ! [ -f "$JAVA_HOME/bin/jstack" ] && { + [ ! -f "$JAVA_HOME/bin/jstack" ] && { redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists! Use -s option set jstack path manually." 1>&2 exit 1 } - ! [ -x "$JAVA_HOME/bin/jstack" ] && { + [ ! -x "$JAVA_HOME/bin/jstack" ] && { redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." 1>&2 exit 1 } @@ -210,5 +209,5 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ -z "${pid}" ] && awk '$4=="java"{print $0}' || awk -v "pid=${pid}" '$1==pid,$4=="java"{print $0}' - } | sort -k5 -r -n | head --lines "${count}" | printStackOfThreads + } | sort -k5 -r -n | head -n "${count}" | printStackOfThreads done From 2c90f03d09613263a9f93b829b8492891732f2f3 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 3 Oct 2017 23:04:37 +0800 Subject: [PATCH 036/141] add fast-fail guard for show-busy-java-threads.sh --- show-busy-java-threads.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 52590aa7..9cfe1b3d 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -11,6 +11,12 @@ readonly PROG="`basename $0`" readonly -a COMMAND_LINE=("$0" "$@") +# Check os support! +uname | grep '^Linux' -q || { + echo "$PROG only support Linux, not support `uname` yet!" 1>&2 + exit 2 +} + # Get corrent current user name via whoami command # See get https://www.lifewire.com/current-linux-user-whoami-command-3867579 # Because if use `sudo -u` to run command, env var $USER is not rewrited/correct, just inherited from outside! @@ -187,7 +193,7 @@ printStackOfThreads() { } bluePrint "[$((counter++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" - sed "/nid=${threadId0x} /,/^$/p" -n ${jstackFile} | tee ${append_file+-a "$append_file"} + sed "/nid=${threadId0x} /,/^$/p" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} done } From b6329a5568db1ef7f869be243447cd121256608e Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 9 Oct 2017 12:45:23 +0800 Subject: [PATCH 037/141] use escape sequence syntax to avoid seperated echo avoid break line when parallel output from multi-process --- a2l | 5 ++--- console-text-color-themes.sh | 27 +++++++++++++++++---------- parseOpts.sh | 5 ++--- show-busy-java-threads.sh | 5 ++--- swtrunk.sh | 5 ++--- test-cases/parseOpts-test.sh | 5 ++--- 6 files changed, 27 insertions(+), 25 deletions(-) diff --git a/a2l b/a2l index 1b9fb8eb..c38b6ce8 100755 --- a/a2l +++ b/a2l @@ -14,9 +14,8 @@ colorEcho() { shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;${color}m" - echo -n "$@" - echo -e "\033[0m" + # NOTE: $'foo' is the escape sequence syntax of bash + echo $'\033'"[1;${color}m$@"$'\033[0m' else echo "$@" fi diff --git a/console-text-color-themes.sh b/console-text-color-themes.sh index f24bb0f6..106c431c 100755 --- a/console-text-color-themes.sh +++ b/console-text-color-themes.sh @@ -8,21 +8,19 @@ readonly _ctct_PROG="$(basename "$(readlink -f "$0")")" colorEcho() { local combination="$1" shift 1 - [ -c /dev/stdout ] && { - echo -e -n "\033[${combination}m" - echo -e -n "$@" - echo -e "\033[0m" - } || echo "$@" + + [ -c /dev/stdout ] && + echo $'\033'"[${combination}m$@"$'\033[0m' || + echo "$@" } colorEchoWithoutNewLine() { local combination="$1" shift 1 - [ -c /dev/stdout ] && { - echo -e -n "\033[${combination}m" - echo -e -n "$@" - echo -e -n "\033[0m" - } || echo -n "$@" + + [ -c /dev/stdout ] && + echo -n $'\033'"[${combination}m$@"$'\033[0m' || + echo -n "$@" } # if not directly run this script(use as lib), just export 2 helper functions, @@ -41,11 +39,20 @@ colorEchoWithoutNewLine() { done echo "Code sample to print color text:" + echo -n ' echo -e "\033[' colorEchoWithoutNewLine "3;35;40" "1;36;41" echo -n "m" colorEchoWithoutNewLine "0;32;40" "Sample Text" echo "\033[0m\"" + + echo -n " echo \$'\033[" + colorEchoWithoutNewLine "3;35;40" "1;36;41" + echo -n "m'\"" + colorEchoWithoutNewLine "0;32;40" "Sample Text" + echo "\"$'\033[0m'" + echo " # NOTE: $'foo' is the escape sequence syntax of bash, safer escape" + echo "Output of above code:" echo -e " \033[1;36;41mSample Text\033[0m" echo diff --git a/parseOpts.sh b/parseOpts.sh index 9d03e1a9..73d700e6 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -26,9 +26,8 @@ _opts_colorEcho() { shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;${color}m" - echo -n "$@" - echo -e "\033[0m" + # NOTE: $'foo' is the escape sequence syntax of bash + echo $'\033'"[1;${color}m$@"$'\033[0m' else echo "$@" fi diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 9cfe1b3d..64630178 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -96,9 +96,8 @@ colorPrint() { shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;${color}m" - echo -n "$@" - echo -e "\033[0m" + # NOTE: $'foo' is the escape sequence syntax of bash + echo $'\033'"[1;${color}m$@"$'\033[0m' else echo "$@" fi diff --git a/swtrunk.sh b/swtrunk.sh index 0fa246fd..90a00c8f 100755 --- a/swtrunk.sh +++ b/swtrunk.sh @@ -12,9 +12,8 @@ colorEcho() { shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;${color}m" - echo -n "$@" - echo -e "\033[0m" + # NOTE: $'foo' is the escape sequence syntax of bash + echo $'\033'"[1;${color}m$@"$'\033[0m' else echo "$@" fi diff --git a/test-cases/parseOpts-test.sh b/test-cases/parseOpts-test.sh index 81d300f8..73d56320 100755 --- a/test-cases/parseOpts-test.sh +++ b/test-cases/parseOpts-test.sh @@ -14,9 +14,8 @@ colorEcho() { shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;${color}m" - echo -n "$@" - echo -e "\033[0m" + # NOTE: $'foo' is the escape sequence syntax of bash + echo $'\033'"[1;${color}m$@"$'\033[0m' else echo "$@" fi From 84315810b73765ade76ec72ebb25584f6b8ebc32 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 10 Oct 2017 14:26:44 +0800 Subject: [PATCH 038/141] clean code, improve code readability - use const var instead of hardcode escape char - remove all -e option of echo command - simplify escape string write, improve code readability --- a2l | 7 +++++-- console-text-color-themes.sh | 9 ++++++--- echo-args.sh | 7 ++++--- find-in-jars.sh | 5 ++++- parseOpts.sh | 7 +++++-- show-busy-java-threads.sh | 7 +++++-- swtrunk.sh | 7 +++++-- test-cases/parseOpts-test.sh | 7 +++++-- 8 files changed, 39 insertions(+), 17 deletions(-) diff --git a/a2l b/a2l index c38b6ce8..6730d1a1 100755 --- a/a2l +++ b/a2l @@ -9,13 +9,16 @@ # @author Jerry Lee +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end + colorEcho() { local color="$1" shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - # NOTE: $'foo' is the escape sequence syntax of bash - echo $'\033'"[1;${color}m$@"$'\033[0m' + echo "$ec[1;${color}m$@$eend" else echo "$@" fi diff --git a/console-text-color-themes.sh b/console-text-color-themes.sh index 106c431c..6fdedcf4 100755 --- a/console-text-color-themes.sh +++ b/console-text-color-themes.sh @@ -5,12 +5,15 @@ readonly _ctct_PROG="$(basename "$(readlink -f "$0")")" [ "$_ctct_PROG" == 'console-text-color-themes.sh' ] && readonly _ctct_is_direct_run=true +readonly _ctct_ec=$'\033' # escape char +readonly _ctct_eend=$'\033[0m' # escape end + colorEcho() { local combination="$1" shift 1 [ -c /dev/stdout ] && - echo $'\033'"[${combination}m$@"$'\033[0m' || + echo "$_ctct_ec[${combination}m$@$_ctct_eend" || echo "$@" } @@ -19,7 +22,7 @@ colorEchoWithoutNewLine() { shift 1 [ -c /dev/stdout ] && - echo -n $'\033'"[${combination}m$@"$'\033[0m' || + echo -n "$_ctct_ec[${combination}m$@$_ctct_eend" || echo -n "$@" } @@ -54,7 +57,7 @@ colorEchoWithoutNewLine() { echo " # NOTE: $'foo' is the escape sequence syntax of bash, safer escape" echo "Output of above code:" - echo -e " \033[1;36;41mSample Text\033[0m" + echo " $_ctct_ec[1;36;41mSample Text$_ctct_eend" echo echo "If you are going crazy to write text in escapes string like me," echo "you can use colorEcho and colorEchoWithoutNewLine function in this script." diff --git a/echo-args.sh b/echo-args.sh index dc494c73..20724bdc 100755 --- a/echo-args.sh +++ b/echo-args.sh @@ -1,11 +1,12 @@ #!/bin/bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end + redEcho() { if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - echo -ne "\033[1;31m" - echo -n "$@" - echo -ne "\033[0m" + echo -n "$ec[1;31m$@$eend" else echo -n "$@" fi diff --git a/find-in-jars.sh b/find-in-jars.sh index 0ab418d8..72f1b1ac 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -125,6 +125,9 @@ fi # https://unix.stackexchange.com/questions/299067 $is_console && readonly columns=$(stty size | awk '{print $2}') +readonly ec=$'\033' # escape char +readonly cr=$'\r' # carriage return + print_responsive_message() { $is_console || return @@ -144,7 +147,7 @@ clear_responsive_message() { # echo -e "\033[1K" # Or everything on the line, regardless of cursor position: # echo -e "\033[2K" - echo -n -e "\033[2K\\r" + echo -n "$ec[2K$cr" } diff --git a/parseOpts.sh b/parseOpts.sh index 73d700e6..779fabcf 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -21,13 +21,16 @@ # Utils Methods ##################################################################### +# NOTE: $'foo' is the escape sequence syntax of bash +readonly _opts_ec=$'\033' # escape char +readonly _opts_eend=$'\033[0m' # escape end + _opts_colorEcho() { local color=$1 shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - # NOTE: $'foo' is the escape sequence syntax of bash - echo $'\033'"[1;${color}m$@"$'\033[0m' + echo "$_opts_ec[1;${color}m$@$_opts_eend" else echo "$@" fi diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 64630178..a04dd0e9 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -91,13 +91,16 @@ update_delay=${1:-0} [ -z "$1" ] && update_count=1 || update_count=${2:-0} [ $update_count -lt 0 ] && update_count=0 +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end + colorPrint() { local color=$1 shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - # NOTE: $'foo' is the escape sequence syntax of bash - echo $'\033'"[1;${color}m$@"$'\033[0m' + echo "$ec[1;${color}m$@$eend" else echo "$@" fi diff --git a/swtrunk.sh b/swtrunk.sh index 90a00c8f..a8bebce4 100755 --- a/swtrunk.sh +++ b/swtrunk.sh @@ -7,13 +7,16 @@ # # @author Jerry Lee +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end + colorEcho() { local color=$1 shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - # NOTE: $'foo' is the escape sequence syntax of bash - echo $'\033'"[1;${color}m$@"$'\033[0m' + echo "$ec[1;${color}m$@$eend" else echo "$@" fi diff --git a/test-cases/parseOpts-test.sh b/test-cases/parseOpts-test.sh index 73d56320..5e58f639 100755 --- a/test-cases/parseOpts-test.sh +++ b/test-cases/parseOpts-test.sh @@ -9,13 +9,16 @@ BASE=`dirname $0` # Utils Methods ################################################# +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end + colorEcho() { local color=$1 shift if [ -c /dev/stdout ] ; then # if stdout is console, turn on color output. - # NOTE: $'foo' is the escape sequence syntax of bash - echo $'\033'"[1;${color}m$@"$'\033[0m' + echo "$ec[1;${color}m$@$eend" else echo "$@" fi From d49008af295c05d61c963b98673dffc214101d3f Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 10 Oct 2017 15:45:43 +0800 Subject: [PATCH 039/141] show-busy-java-threads support -m/-l of jstack --- show-busy-java-threads.sh | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index a04dd0e9..31ea5e99 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -40,7 +40,10 @@ Options: -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log -s, --jstack-path specify the path of jstack command - -F, --force set jstack to force a thread dump(use jstack -F option) + -F, --force set jstack to force a thread dump + use when jstack does not respond (process is hung) + -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) + -l, --lock-info set jstack with long listing. Prints additional information about locks -h, --help display this help and exit delay the delay between updates in seconds count the number of updates @@ -50,7 +53,7 @@ EOF exit $1 } -readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:Fh -l count:,pid:,append-file:,jstack-path:,force,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:Fmlh -l count:,pid:,append-file:,jstack-path:,force,mix-native-frames,lock-info,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -76,6 +79,14 @@ while true; do force=-F shift 1 ;; + -m|--mix-native-frames) + mix_native_frames=-m + shift 1 + ;; + -l|--lock-info) + more_lock_info=-l + shift 1 + ;; -h|--help) usage ;; @@ -176,9 +187,9 @@ printStackOfThreads() { [ ! -f "${jstackFile}" ] && { { if [ "${user}" == "${USER}" ]; then - "$jstack_path" ${force} ${pid} > ${jstackFile} + "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} elif [ $UID == 0 ]; then - sudo -u "${user}" "$jstack_path" ${force} ${pid} > ${jstackFile} + sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} else redPrint "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." redPrint "User of java process($user) is not current user($USER), need sudo to run again:" @@ -195,7 +206,19 @@ printStackOfThreads() { } bluePrint "[$((counter++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" - sed "/nid=${threadId0x} /,/^$/p" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} + + if [ -n "$mix_native_frames" ]; then + local sed_script="/------------- $threadId -------------/,/^---------------/ { + /^---------------/b # skip seperator lines + p + }" + elif [ -n "$force" ]; then + local sed_script="/Thread $threadId:/,/^$/p" + else + local sed_script="/nid=${threadId0x} /,/^$/p" + fi + + sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} done } From 7fa232780948912329445b1bf2406169579b2d82 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 10 Oct 2017 16:02:22 +0800 Subject: [PATCH 040/141] update doc java.md --- docs/java.md | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/docs/java.md b/docs/java.md index 0a9c0ed0..c897ea8a 100644 --- a/docs/java.md +++ b/docs/java.md @@ -47,32 +47,40 @@ PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布 ```bash show-busy-java-threads.sh -# 从 所有的 Java进程中找出最消耗CPU的线程(缺省5个),打印出其线程栈。 +# 从所有运行的Java进程中找出最消耗CPU的线程(缺省5个),打印出其线程栈 -show-busy-java-threads.sh -c <要显示的线程栈数> +# 缺省会自动从所有的Java进程中找出最消耗CPU的线程,这样用更方便 +# 当然你可以手动指定要分析的Java进程Id,以保证只会显示出那个你关心的Java进程的信息 +show-busy-java-threads.sh -p <指定的Java进程Id> -show-busy-java-threads.sh -c <要显示的线程栈数> -p <指定的Java Process> -# -F选项:执行jstack命令时加上-F选项(强制jstack),一般情况不需要使用 -show-busy-java-threads.sh -p <指定的Java Process> -F +show-busy-java-threads.sh -c <要显示的线程栈数> -show-busy-java-threads.sh -s <指定jstack命令的全路径> -# 对于sudo方式的运行,JAVA_HOME环境变量不能传递给root, -# 而root用户往往没有配置JAVA_HOME且不方便配置, -# 显式指定jstack命令的路径就反而显得更方便了 +show-busy-java-threads.sh <重复执行的间隔秒数> [<重复执行的次数>] +# 多次执行;这2个参数的使用方式类似vmstat命令 show-busy-java-threads.sh -a <输出记录到的文件> # 记录到文件以方便回溯查看 -show-busy-java-threads.sh <重复执行的间隔秒数> [<重复执行的次数>] -# 多次执行;这2个参数的使用方式类似vmstat命令 - ############################## # 注意: ############################## -# 如果Java进程的用户 与 执行脚本的当前用户 不同,则jstack不了这个Java进程。 +# 如果Java进程的用户 与 执行脚本的当前用户 不同,则jstack不了这个Java进程 # 为了能切换到Java进程的用户,需要加sudo来执行,即可以解决: sudo show-busy-java-threads.sh +show-busy-java-threads.sh -s <指定jstack命令的全路径> +# 对于sudo方式的运行,JAVA_HOME环境变量不能传递给root, +# 而root用户往往没有配置JAVA_HOME且不方便配置, +# 显式指定jstack命令的路径就反而显得更方便了 + +# -m选项:执行jstack命令时加上-m选项,显示上Native的栈帧,一般应用排查不需要使用 +show-busy-java-threads.sh -m +# -l选项:执行jstack命令时加上 -l 选项,显示上更多相关锁的信息,一般情况不需要使用 +# 注意:和 -m -F 选项一起使用时,可能会大大增加jstack操作的耗时 +show-busy-java-threads.sh -l +# -F选项:执行jstack命令时加上 -F 选项(如果直接jstack无响应时,用于强制jstack),一般情况不需要使用 +show-busy-java-threads.sh -F + # 帮助信息 $ show-busy-java-threads.sh -h Usage: show-busy-java-threads.sh [OPTION]... [delay [count]] @@ -89,7 +97,10 @@ Options: -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log -s, --jstack-path specify the path of jstack command - -F, --force set jstack to force a thread dump(use jstack -F option) + -F, --force set jstack to force a thread dump + use when jstack does not respond (process is hung) + -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) + -l, --lock-info set jstack with long listing. Prints additional information about locks -h, --help display this help and exit delay the delay between updates in seconds count the number of updates From ed60432bad32d5c4c9f39c0b1c30b39af8627ccb Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 10 Oct 2017 19:52:49 +0800 Subject: [PATCH 041/141] add on line doc link info --- a2l | 3 ++- ap | 3 ++- c | 4 +++- colines | 4 +++- cp-svn-url.sh | 4 +++- find-in-jars.sh | 3 ++- parseOpts.sh | 3 ++- rp | 3 ++- show-busy-java-threads.sh | 5 +++-- show-duplicate-java-classes | 11 +++++++++++ svn-merge-stop-on-copy.sh | 3 ++- swtrunk.sh | 3 ++- tcp-connection-state-counter.sh | 5 +++-- xpf | 4 +++- xpl | 3 ++- 15 files changed, 45 insertions(+), 16 deletions(-) diff --git a/a2l b/a2l index 6730d1a1..f9f931f5 100755 --- a/a2l +++ b/a2l @@ -6,7 +6,8 @@ # $ ./a2l arg1 arg2 # $ ./a2l *.txt # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-a2l +# @author Jerry Lee (oldratlee at gmail dot com) # NOTE: $'foo' is the escape sequence syntax of bash diff --git a/ap b/ap index 71cf0b20..814ddc98 100755 --- a/ap +++ b/ap @@ -8,7 +8,8 @@ # # print Absolute Path of arguments. # $ ./ap a.txt ../dir1/b.txt # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-ap-and-rp +# @author Jerry Lee (oldratlee at gmail dot com) [ $# -eq 0 ] && files=(.) || files=("$@") diff --git a/c b/c index 13eb0ac3..8ca04ab5 100755 --- a/c +++ b/c @@ -6,7 +6,9 @@ # $ c echo "hello world!" # $ echo "hello world!" | c # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-c +# @author Jerry Lee (oldratlee at gmail dot com) + copy() { case "`uname`" in Darwin*) diff --git a/colines b/colines index 400c6ac3..3421c170 100755 --- a/colines +++ b/colines @@ -7,7 +7,9 @@ # $ echo -n 'Hello\nWorld' | colines # $ colines /path/to/file1 # $ colines /path/to/file1 /path/to/file2 - +# +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-colines +# @author Jerry Lee (oldratlee at gmail dot com) __author__ = 'Jerry Lee' diff --git a/cp-svn-url.sh b/cp-svn-url.sh index 320d056f..3caa56d0 100755 --- a/cp-svn-url.sh +++ b/cp-svn-url.sh @@ -6,7 +6,9 @@ # $ ./cp-svn-url.sh # $ ./cp-svn-url.sh /path/to/svn/work/dir # -# @author ivanzhangwb +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#beer-cp-svn-urlsh +# @author ivanzhangwb (ivanzhangwb at gmail dot com) + readonly PROG=`basename $0` usage() { diff --git a/find-in-jars.sh b/find-in-jars.sh index 72f1b1ac..323de590 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -8,7 +8,8 @@ # $ find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory # $ find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-find-in-jarssh +# @author Jerry Lee (oldratlee at gmail dot com) readonly PROG=`basename $0` diff --git a/parseOpts.sh b/parseOpts.sh index 779fabcf..859a70c9 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -15,7 +15,8 @@ # _OPT_VALUE_c_long = (c.sh -p pv -q qv arg1) # Array type # _OPT_ARGS = (aa bb cc) # Array type # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-parseoptssh +# @author Jerry Lee (oldratlee at gmail dot com) ##################################################################### # Utils Methods diff --git a/rp b/rp index 6065063d..506bc4df 100755 --- a/rp +++ b/rp @@ -8,7 +8,8 @@ # # if more than 1 argument, print relative path to last argument. # $ ./rp a.txt ../b.txt /etc/passwd /etc/apache2 # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-ap-and-rp +# @author Jerry Lee (oldratlee at gmail dot com) [ $# -eq 0 ] && { echo "ERROR: NO argument!" diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 31ea5e99..8e2ba557 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -5,8 +5,9 @@ # @Usage # $ ./show-busy-java-threads.sh # -# @author Jerry Lee -# @author superhj1987 +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threadssh +# @author Jerry Lee (oldratlee at gmail dot com) +# @author superhj1987 (superhj1987 at 126 dot com) readonly PROG="`basename $0`" readonly -a COMMAND_LINE=("$0" "$@") diff --git a/show-duplicate-java-classes b/show-duplicate-java-classes index 1f06cb0d..e17ff3ef 100755 --- a/show-duplicate-java-classes +++ b/show-duplicate-java-classes @@ -1,5 +1,16 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +# @Function +# Find duplicate class among java libs. +# +# @Usage +# $ show-duplicate-java-classes # find jars from current dir +# $ show-duplicate-java-classes path/to/lib_dir1 /path/to/lib_dir2 +# $ show-duplicate-java-classes -c path/to/class_dir1 -c /path/to/class_dir2 +# +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-duplicate-java-classes +# @author tg123 (farmer1992 at gmail dot com) +# @author Jerry Lee (oldratlee at gmail dot com) __author__ = 'tg123' diff --git a/svn-merge-stop-on-copy.sh b/svn-merge-stop-on-copy.sh index d0e05891..a4582ef5 100755 --- a/svn-merge-stop-on-copy.sh +++ b/svn-merge-stop-on-copy.sh @@ -7,8 +7,9 @@ # $ ./svnmerge.sh [target branch] # if no target branch, merge to current svn direcotry # +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#beer-svn-merge-stop-on-copysh # @author jiangjizhong(@jzwlqx) -# @author Jerry Lee +# @author Jerry Lee (oldratlee at gmail dot com) PROG=`basename $0` diff --git a/swtrunk.sh b/swtrunk.sh index a8bebce4..a73e8642 100755 --- a/swtrunk.sh +++ b/swtrunk.sh @@ -5,7 +5,8 @@ # @Usage # $ ./swtrunk.sh [...] # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#beer-swtrunksh +# @author Jerry Lee (oldratlee at gmail dot com) # NOTE: $'foo' is the escape sequence syntax of bash readonly ec=$'\033' # escape char diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter.sh index 79b7ea6e..51d29c15 100755 --- a/tcp-connection-state-counter.sh +++ b/tcp-connection-state-counter.sh @@ -5,8 +5,9 @@ # @Usage # $ ./tcp-connection-state-counter.sh # -# @author Jerry Lee(@oldratlee) -# @author @sunuslee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-tcp-connection-state-countersh +# @author Jerry Lee (oldratlee at gmail dot com) +# @author @sunuslee (sunuslee at gmail dot com) # On MacOS, netstat need to using -p tcp to get only tcp output. uname | grep Darwin -q && option_for_mac="-ptcp" diff --git a/xpf b/xpf index 47a8b2d5..c929ac87 100755 --- a/xpf +++ b/xpf @@ -6,6 +6,8 @@ # @Usage # $ ./xpf file # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-xpl-and-xpf +# @author Jerry Lee (oldratlee at gmail dot com) + BASE=`dirname $0` . $BASE/xpl "$@" diff --git a/xpl b/xpl index 44742fdb..a387ef66 100755 --- a/xpl +++ b/xpl @@ -5,7 +5,8 @@ # @Usage # $ ./xpf file # -# @author Jerry Lee +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-xpl-and-xpf +# @author Jerry Lee (oldratlee at gmail dot com) PROG=`basename $0` From 71676e56f3209bb4691548d7a75954be21069f39 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 18 Oct 2017 13:50:39 +0800 Subject: [PATCH 042/141] clean code, improve doc --- docs/java.md | 4 ++-- find-in-jars.sh | 10 +++++----- show-busy-java-threads.sh | 26 +++++++++++++------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/java.md b/docs/java.md index c897ea8a..ca5b7b51 100644 --- a/docs/java.md +++ b/docs/java.md @@ -75,11 +75,11 @@ show-busy-java-threads.sh -s <指定jstack命令的全路径> # -m选项:执行jstack命令时加上-m选项,显示上Native的栈帧,一般应用排查不需要使用 show-busy-java-threads.sh -m +# -F选项:执行jstack命令时加上 -F 选项(如果直接jstack无响应时,用于强制jstack),一般情况不需要使用 +show-busy-java-threads.sh -F # -l选项:执行jstack命令时加上 -l 选项,显示上更多相关锁的信息,一般情况不需要使用 # 注意:和 -m -F 选项一起使用时,可能会大大增加jstack操作的耗时 show-busy-java-threads.sh -l -# -F选项:执行jstack命令时加上 -F 选项(如果直接jstack无响应时,用于强制jstack),一般情况不需要使用 -show-busy-java-threads.sh -F # 帮助信息 $ show-busy-java-threads.sh -h diff --git a/find-in-jars.sh b/find-in-jars.sh index 323de590..850009f1 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -129,7 +129,7 @@ $is_console && readonly columns=$(stty size | awk '{print $2}') readonly ec=$'\033' # escape char readonly cr=$'\r' # carriage return -print_responsive_message() { +printResponsiveMessage() { $is_console || return local message="$*" @@ -137,7 +137,7 @@ print_responsive_message() { echo -n "${message:0:columns}" } -clear_responsive_message() { +clearResponsiveMessage() { $is_console || return # How to delete line with echo? @@ -161,14 +161,14 @@ readonly total_count="$(echo "$jar_files" | wc -l)" counter=1 while read jar_file; do - print_responsive_message "finding in jar($((counter++))/$total_count): $jar_file" + printResponsiveMessage "finding in jar($((counter++))/$total_count): $jar_file" $command_for_list_zip "${jar_file}" | grep $regex_mode "$pattern" | while read file; do - clear_responsive_message + clearResponsiveMessage echo "${jar_file}"\!"${file}" done - clear_responsive_message + clearResponsiveMessage done < <(echo "$jar_files") diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index 8e2ba557..abc10187 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -163,8 +163,7 @@ else redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." 1>&2 exit 1 } - export PATH="$JAVA_HOME/bin:$PATH" - jstack_path="`which jstack`" + jstack_path="$JAVA_HOME/bin/jstack" fi readonly uuid=`date +%s`_${RANDOM}_$$ @@ -176,7 +175,7 @@ trap "cleanupWhenExit" EXIT printStackOfThreads() { local line - local counter=1 + local counter=0 while IFS=" " read -a line ; do local pid=${line[0]} local threadId=${line[1]} @@ -184,6 +183,7 @@ printStackOfThreads() { local user=${line[2]} local pcpu=${line[4]} + ((counter++)) local jstackFile=/tmp/${uuid}_${pid} [ ! -f "${jstackFile}" ] && { { @@ -192,38 +192,38 @@ printStackOfThreads() { elif [ $UID == 0 ]; then sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} else - redPrint "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "[$counter] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." redPrint "User of java process($user) is not current user($USER), need sudo to run again:" yellowPrint " sudo ${COMMAND_LINE[@]}" normalPrint continue fi } || { - redPrint "[$((counter++))] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "[$counter] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." normalPrint rm ${jstackFile} continue } } - bluePrint "[$((counter++))] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" + bluePrint "[$counter] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" if [ -n "$mix_native_frames" ]; then - local sed_script="/------------- $threadId -------------/,/^---------------/ { - /^---------------/b # skip seperator lines + local sed_script="/--------------- $threadId ---------------/,/^---------------/ { + /--------------- $threadId ---------------/b # skip first seperator line + /^---------------/s/.*// # replace sencond seperator line to empty line p }" elif [ -n "$force" ]; then - local sed_script="/Thread $threadId:/,/^$/p" + local sed_script="/^Thread ${threadId}:/,/^$/p" else local sed_script="/nid=${threadId0x} /,/^$/p" fi - sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} done } -head_info() { +headInfo() { echo ================================================================================ echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$((i+1))/$update_count]: ${COMMAND_LINE[@]}" echo ================================================================================ @@ -234,8 +234,8 @@ head_info() { for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ "$i" -gt 0 ] && sleep "$update_delay" - [ -n "$append_file" ] && head_info >> "$append_file" - [ "$update_count" -ne 1 ] && head_info + [ -n "$append_file" ] && headInfo >> "$append_file" + [ "$update_count" -ne 1 ] && headInfo ps -Leo pid,lwp,user,comm,pcpu --no-headers | { [ -z "${pid}" ] && From f583cdf2406ada77f81ab38a0cd8d442f59cfede Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 20 Oct 2017 01:04:11 +0800 Subject: [PATCH 043/141] clean code and add online doc link info --- c | 4 +--- console-text-color-themes.sh | 3 +++ echo-args.sh | 25 ++++++++++--------------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/c b/c index 8ca04ab5..c8db0562 100755 --- a/c +++ b/c @@ -13,9 +13,7 @@ copy() { case "`uname`" in Darwin*) pbcopy ;; - CYGWIN*) - clip ;; - MINGW*) + CYGWIN*|MINGW*) clip ;; *) xsel -b ;; diff --git a/console-text-color-themes.sh b/console-text-color-themes.sh index 6fdedcf4..4aca53e8 100755 --- a/console-text-color-themes.sh +++ b/console-text-color-themes.sh @@ -1,6 +1,9 @@ #!/bin/bash # @Function # show all console text color themes. +# +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-console-text-color-themessh +# @author Jerry Lee (oldratlee at gmail dot com) readonly _ctct_PROG="$(basename "$(readlink -f "$0")")" [ "$_ctct_PROG" == 'console-text-color-themes.sh' ] && readonly _ctct_is_direct_run=true diff --git a/echo-args.sh b/echo-args.sh index 20724bdc..f14bd2d0 100755 --- a/echo-args.sh +++ b/echo-args.sh @@ -1,27 +1,22 @@ #!/bin/bash +# @Function +# print arguments in human and debug friendly style. +# +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-echo-argssh +# @author Jerry Lee (oldratlee at gmail dot com) -readonly ec=$'\033' # escape char +readonly ebegin=$'\033[1;31m' # escape begin, red color readonly eend=$'\033[0m' # escape end -redEcho() { - if [ -c /dev/stdout ] ; then - # if stdout is console, turn on color output. - echo -n "$ec[1;31m$@$eend" - else - echo -n "$@" - fi -} - echoArg() { local index=$1 local count=$2 local value=$3 - echo -n "$index/$count: " - redEcho "[" - echo -n "$value" - redEcho "]" - echo + # if stdout is console, turn on color output. + [ -c /dev/stdout ] && + echo "$index/$count: $ebegin[$eend$value$ebegin]$eend" || + echo "$index/$count: [$value]" } From 9c547f369ab2e260085dbd8823b1316ba8cebfae Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 23 Oct 2017 14:02:59 +0800 Subject: [PATCH 044/141] rewrite colines by bash, faster and less dependent --- colines | 64 ++++++++++++++++++++++++--------------------------- docs/shell.md | 12 ++++++---- 2 files changed, 37 insertions(+), 39 deletions(-) diff --git a/colines b/colines index 3421c170..18555a28 100755 --- a/colines +++ b/colines @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/bin/bash # @Function # cat lines colorfully. colines means COLorful LINES. # @@ -11,38 +10,35 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-colines # @author Jerry Lee (oldratlee at gmail dot com) -__author__ = 'Jerry Lee' +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end -import sys +readonly -a ECHO_COLORS=(37 31 32 34 33 35 56) +COUNT=0 +colorEcho() { + local color="${ECHO_COLORS[$((COUNT++ % ${#ECHO_COLORS[@]} + 1))]}" + # check isatty in bash https://stackoverflow.com/questions/10022323 + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" +} -ECHO_COLORS = (37, 31, 32, 34, 33, 35, 56) -idx = 0 +readonly seperator="================================================================================" - -def color_print(*args): - _line = " ".join(args) - global idx - idx += 1 - color = ECHO_COLORS[idx % len(ECHO_COLORS)] - if sys.stdout.isatty(): - print("""\033[1;%sm%s\033[0m""" % (color, _line)) - else: - print(_line) - - -if __name__ == '__main__': - if len(sys.argv) > 1: - for arg in sys.argv[1:]: - if len(sys.argv) > 2: - print('=' * 80) - print(arg) - print('=' * 80) - for line in open(arg).readlines(): - color_print(line.rstrip('\r\n')) - else: - # Read from std input - while True: - line = sys.stdin.readline() - if not line: - break - color_print(line.rstrip('\r\n')) +if [ $# -eq 0 ]; then + # Bash read line does not read leading spaces https://stackoverflow.com/questions/29689172 + while IFS= read -r line; do + colorEcho "$line" + done +else + for a; do + [ $# -gt 1 ] && { + echo "$seperator" + echo "$a" + echo "$seperator" + } + while IFS= read -r line; do + colorEcho "$line" + done < "$a" + done +fi diff --git a/docs/shell.md b/docs/shell.md index 09314b22..884b0078 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -84,7 +84,7 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com ---------------------- 彩色`cat`出文件行,方便人眼区分不同的行。 -全系统支持(`Python`实现,安装`Python`即可),如`Linux`、`Mac`、`Windows`。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 命令名`colines`意思是`COLorful LINES`。 @@ -103,13 +103,15 @@ $ colines file1 file2.txt ================================================================================ file1 ================================================================================ -file1 line1 -file1 line2 +line1 of file1 +line2 of file1 +... ================================================================================ file2.txt ================================================================================ -file2 line1 -file2 line2 +line1 of file2 +line2 of file2 +... ``` 注:上面显示中,没有彩色,在控制台上运行可以看出彩色效果。 From 08f4d474a05f1fa84e85fe49eb90074955f2e980 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 23 Oct 2017 14:18:19 +0800 Subject: [PATCH 045/141] use -t 1 instead of -c when check is tty/console --- a2l | 13 +++++-------- console-text-color-themes.sh | 4 ++-- echo-args.sh | 2 +- find-in-jars.sh | 2 +- parseOpts.sh | 2 +- show-busy-java-threads.sh | 2 +- swtrunk.sh | 2 +- test-cases/parseOpts-test.sh | 2 +- 8 files changed, 13 insertions(+), 16 deletions(-) diff --git a/a2l b/a2l index f9f931f5..28a03c32 100755 --- a/a2l +++ b/a2l @@ -17,17 +17,14 @@ readonly eend=$'\033[0m' # escape end colorEcho() { local color="$1" shift - if [ -c /dev/stdout ] ; then - # if stdout is console, turn on color output. - echo "$ec[1;${color}m$@$eend" - else - echo "$@" - fi + # check isatty in bash https://stackoverflow.com/questions/10022323 + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" } -readonly ECHO_COLORS=(37 31 32 34 33 35 56) +readonly -a ECHO_COLORS=(37 31 32 34 33 35 56) COUNT=0 -for a in "$@"; do +for a; do colorEcho "${ECHO_COLORS[$((COUNT++ % ${#ECHO_COLORS[@]}))]}" "$a" done diff --git a/console-text-color-themes.sh b/console-text-color-themes.sh index 4aca53e8..783555a4 100755 --- a/console-text-color-themes.sh +++ b/console-text-color-themes.sh @@ -15,7 +15,7 @@ colorEcho() { local combination="$1" shift 1 - [ -c /dev/stdout ] && + [ -t 1 ] && echo "$_ctct_ec[${combination}m$@$_ctct_eend" || echo "$@" } @@ -24,7 +24,7 @@ colorEchoWithoutNewLine() { local combination="$1" shift 1 - [ -c /dev/stdout ] && + [ -t 1 ] && echo -n "$_ctct_ec[${combination}m$@$_ctct_eend" || echo -n "$@" } diff --git a/echo-args.sh b/echo-args.sh index f14bd2d0..1010de0d 100755 --- a/echo-args.sh +++ b/echo-args.sh @@ -14,7 +14,7 @@ echoArg() { local value=$3 # if stdout is console, turn on color output. - [ -c /dev/stdout ] && + [ -t 1 ] && echo "$index/$count: $ebegin[$eend$value$ebegin]$eend" || echo "$index/$count: [$value]" } diff --git a/find-in-jars.sh b/find-in-jars.sh index 850009f1..ef79e46b 100755 --- a/find-in-jars.sh +++ b/find-in-jars.sh @@ -120,7 +120,7 @@ fi # find logic ################################################################################ -[ -c /dev/stdout ] && readonly is_console=true || readonly is_console=false +[ -t 1 ] && readonly is_console=true || readonly is_console=false # Getting console width using a bash script # https://unix.stackexchange.com/questions/299067 diff --git a/parseOpts.sh b/parseOpts.sh index 859a70c9..fab7dcd5 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -29,7 +29,7 @@ readonly _opts_eend=$'\033[0m' # escape end _opts_colorEcho() { local color=$1 shift - if [ -c /dev/stdout ] ; then + if [ -t 1 ] ; then # if stdout is console, turn on color output. echo "$_opts_ec[1;${color}m$@$_opts_eend" else diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh index abc10187..945429f8 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads.sh @@ -110,7 +110,7 @@ readonly eend=$'\033[0m' # escape end colorPrint() { local color=$1 shift - if [ -c /dev/stdout ] ; then + if [ -t 1 ] ; then # if stdout is console, turn on color output. echo "$ec[1;${color}m$@$eend" else diff --git a/swtrunk.sh b/swtrunk.sh index a73e8642..a6eb36c6 100755 --- a/swtrunk.sh +++ b/swtrunk.sh @@ -15,7 +15,7 @@ readonly eend=$'\033[0m' # escape end colorEcho() { local color=$1 shift - if [ -c /dev/stdout ] ; then + if [ -t 1 ] ; then # if stdout is console, turn on color output. echo "$ec[1;${color}m$@$eend" else diff --git a/test-cases/parseOpts-test.sh b/test-cases/parseOpts-test.sh index 5e58f639..9535cf42 100755 --- a/test-cases/parseOpts-test.sh +++ b/test-cases/parseOpts-test.sh @@ -16,7 +16,7 @@ readonly eend=$'\033[0m' # escape end colorEcho() { local color=$1 shift - if [ -c /dev/stdout ] ; then + if [ -t 1 ] ; then # if stdout is console, turn on color output. echo "$ec[1;${color}m$@$eend" else From c4634bc8e7ee4c7d7b578018d83b795575356adc Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 23 Oct 2017 15:57:53 +0800 Subject: [PATCH 046/141] adjust color order --- a2l | 2 +- colines | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/a2l b/a2l index 28a03c32..c859bc3f 100755 --- a/a2l +++ b/a2l @@ -22,7 +22,7 @@ colorEcho() { [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" } -readonly -a ECHO_COLORS=(37 31 32 34 33 35 56) +readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) COUNT=0 for a; do diff --git a/colines b/colines index 18555a28..2a75db85 100755 --- a/colines +++ b/colines @@ -14,10 +14,10 @@ readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end -readonly -a ECHO_COLORS=(37 31 32 34 33 35 56) +readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) COUNT=0 colorEcho() { - local color="${ECHO_COLORS[$((COUNT++ % ${#ECHO_COLORS[@]} + 1))]}" + local color="${ECHO_COLORS[$((COUNT++ % ${#ECHO_COLORS[@]}))]}" # check isatty in bash https://stackoverflow.com/questions/10022323 # if stdout is console, turn on color output. [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" From 7c9b93e59c449aebef18df0b1ac72fb59ad8cc05 Mon Sep 17 00:00:00 2001 From: The Gitter Badger Date: Mon, 23 Oct 2017 09:08:20 +0000 Subject: [PATCH 047/141] Add Gitter badge --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a409b332..36fa6d24 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ -:snail: useful-scripts [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) +:snail: useful-scripts ==================================== +[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) +[![Join the chat at https://gitter.im/oldratlee/useful-scripts](https://badges.gitter.im/oldratlee/useful-scripts.svg)](https://gitter.im/oldratlee/useful-scripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![GitHub stars](https://img.shields.io/github/stars/oldratlee/useful-scripts.svg?style=social&label=Star&)](https://github.com/oldratlee/useful-scripts/stargazers) [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) From b5d7b840c9dff7155db959d7afaaa0f3369ce228 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 23 Oct 2017 19:10:30 +0800 Subject: [PATCH 048/141] use cat instead of self implementation --- colines | 26 +++++++------------------- docs/shell.md | 11 +++-------- 2 files changed, 10 insertions(+), 27 deletions(-) diff --git a/colines b/colines index 2a75db85..701fcb74 100755 --- a/colines +++ b/colines @@ -10,6 +10,9 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-colines # @author Jerry Lee (oldratlee at gmail dot com) +set -e +set -o pipefail + # NOTE: $'foo' is the escape sequence syntax of bash readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end @@ -23,22 +26,7 @@ colorEcho() { [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" } -readonly seperator="================================================================================" - -if [ $# -eq 0 ]; then - # Bash read line does not read leading spaces https://stackoverflow.com/questions/29689172 - while IFS= read -r line; do - colorEcho "$line" - done -else - for a; do - [ $# -gt 1 ] && { - echo "$seperator" - echo "$a" - echo "$seperator" - } - while IFS= read -r line; do - colorEcho "$line" - done < "$a" - done -fi +# Bash read line does not read leading spaces https://stackoverflow.com/questions/29689172 +cat "$@" | while IFS= read -r line; do + colorEcho "$line" +done diff --git a/docs/shell.md b/docs/shell.md index 884b0078..5e32c058 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -83,8 +83,9 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com :beer: [colines](../colines) ---------------------- -彩色`cat`出文件行,方便人眼区分不同的行。 -支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 +彩色`cat`出文件行,方便人眼区分不同的行。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 +命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上在实现上全部代码给`cat`命令)。 命令名`colines`意思是`COLorful LINES`。 @@ -100,15 +101,9 @@ $ echo -e 'a\nb' | nl | colines 1 a 2 b $ colines file1 file2.txt -================================================================================ -file1 -================================================================================ line1 of file1 line2 of file1 ... -================================================================================ -file2.txt -================================================================================ line1 of file2 line2 of file2 ... From bef1ef4f413d8a25e997123fef25c38238b28b2e Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 23 Oct 2017 19:23:54 +0800 Subject: [PATCH 049/141] rename colines to coat, update docs --- README.md | 2 +- colines => coat | 10 ++++----- docs/coat.png | Bin 0 -> 187385 bytes docs/shell.md | 53 ++++++++++++++++++++++++++++++++++++++---------- 4 files changed, 48 insertions(+), 17 deletions(-) rename colines => coat (79%) create mode 100644 docs/coat.png diff --git a/README.md b/README.md index 36fa6d24..7e8251b8 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 1. [c](docs/shell.md#beer-c) 原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`操作,优化命令行与其它应用之间的操作流。 -1. [colines](docs/shell.md#beer-colines) +1. [coat](docs/shell.md#beer-coat) 彩色`cat`出文件行,方便人眼区分不同的行。 1. [a2l](docs/shell.md#beer-a2l) 按行彩色输出参数,方便人眼查看。 diff --git a/colines b/coat similarity index 79% rename from colines rename to coat index 701fcb74..4b18b6d9 100755 --- a/colines +++ b/coat @@ -1,13 +1,13 @@ #!/bin/bash # @Function -# cat lines colorfully. colines means COLorful LINES. +# cat lines colorfully. coat means *CO*lorful c*AT*. # # @Usage -# $ echo -n 'Hello\nWorld' | colines -# $ colines /path/to/file1 -# $ colines /path/to/file1 /path/to/file2 +# $ echo -n 'Hello\nWorld' | coat +# $ coat /path/to/file1 +# $ coat /path/to/file1 /path/to/file2 # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-colines +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-coat # @author Jerry Lee (oldratlee at gmail dot com) set -e diff --git a/docs/coat.png b/docs/coat.png new file mode 100644 index 0000000000000000000000000000000000000000..eee5f1ef92f106d1fd3399712310cceff0885c8e GIT binary patch literal 187385 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

B(6qO}R%1nBv4wWwXon76L4CZXI*d^q; zx`+jZ;sy(s;X)fgzs}=K!Gy-|awub|$PMZp-seSLt_HbWo>4oiDSnaVF~IoOf+ctj zsQAsenLOVKG%3$8x|^tgbv`})P^{wUZ?b*RfU1z|cPJJN^=>d?T%U?Y23O`KO;X}E0Ej?X>!Kzw{Z*`3^6VDo=gzZy{opNru zQN{i3yxGhji8yZU#U~Y(y#*vB`fbX)W^jZv_sad21>K|!8*f!h6GhO^X~tapC> z-ohSXZ)QOYp>Pl^wma|>+X(L)#LMYcpH*F)e5&D99uolUcs_`s-fp~nYSm6mO#SKW ziCt_pEZVFq?Dn9~*k9I)Xk@AT{zclS*d;CyfH-LJki(f3tqXP?xy{6;jr%8>XX_d9 zBjSOSKfe&@dF zO^`A*TcF}hbiWmz{eo1?DDjbqz2lM3Qyua7AU@S7*3d22> zNqRe~=s=Q&%3Zf_vf}d6+)r?s*bQHT!0vstHE;>!a?kgBn2WH+XxlV%u(dAs^P1Bz znx~E^&!QN`nw@PlTb&g{!=(sXG*3|>>wL+OWH{hOY>Q0k%txgXS}< zf)<&4EdMbWmvVNz+y*94 z_ih`Ts_v4X1yc?mA{?u*7AeM07N_+jzq$)@n1X%cF0EE-&5>Pdr9WpXwYhN@RD^5ExZ(Ges5iuD*b*e$dm%r!cca zN_IIg;TAQM7!mhBzq}=lDFJ|oJ|@>45LkXN>pr+%+DzRLf>;lnB3#x+>?G;lou6X9 z7g?6C;#-FxChQ+Lk9#N`TW{m!3DIPpvO>$OUyZ1Yxtb+^HMu{AT#m9leIbDT6_8Y} zrWz(4`lR16Sc%HT$=+|h_}B~}f0PKyg%8mQT|9o?y*XX>Ih9)Q`Mk>VWO=B%{QPEF zBayRFTI8dVmCx320WtKF97s-O1Y^i>ZtvWfWR4O865UD=eJHD9d>we>ObT#>WNz+e z&L~M5G!ZoG{$@oB5$!N{neh9@)XsA77y|@{uaD@Ish+kH zwA_~-FKM*yw@l)1mIl`!W^(5X8Zz41wS{RMzKe|;>yyb1ggM}5mOtG;Id9T+4x@mW zpa#e)mh+Rt8vobVx+SBtj6!Faz7u@8nKmMxkY#!0{hKrwhSE`CTo)XbahA5*tw9!AAx`IA`;Zz8swnhty0n_R8cXMJ^6F(+@p5plc-F` z!j5sXIuZ!d>&EH^Qdvpa^|#Je7UcA(55OT%|vy(MMcVjxY_6#sYmbrm3E zJX@XG*7BMCNHe(aW^~z>1YqD{_vLw_z=hiMnEd2x4&*c$&1F!y5KuBGmhliPm9pMJ zgS)3;E9{Wa;bP6GDVDtAHah*RHUc#IyW*hxAz4LNB z_7^boGhcXf1tQxh-^Wep?wWZh(}7&?<`^mGxQyDK+5Q5%tS#E8q<7g((=OxZu0LLi z|DBjwzxma9nalf|&0J)29qC(d1Pi#mOh6@GQJ(jGPwhe@NS0=bRLprL_HD!WOvt^Fw$&y_{v>tX5I>>YLnn7Q( zU~-)-&3O8s`ikqJ_J7v%SH|Fw=9xV%Z)7Pt!796NpG=ZJX{5Dxf#h9FPD0zu{P-v* zih){a$%J_Q)<0JY%RNQ^3@&{06$hWZ0;t9?+RH$?L9o!MftUC8gG&BpP2TX=kI>%a z0o?LIYejCI(iJt*d46oTqeX-z*x zKX)MT+_QC3vv!@o6Krwl-9p?l^g{)eX?h>=@Tdq*+RYb_%yDHH3(+3Xk+XW^44Cuv zQ^6hNtn?W9jW%A686ygR5I#G!BI`PT5~X(j(E%i^?OlgtACC45C;i*az|q5)FtYZ{ z;HB7y^w9X>J*61JLMdJ_`QzO+CEQF6lHb2VAElnk(Ru2uR;Hdu--BavTBcFp;^1Nk zzdKG*5gU#Vy63O7M|$743riW+JKRmV_qk>YT$j#vKh}SK8jcB(?EF@Jx+D0mOfV+F z__^%*4qm^c+j~VO!u?a%KWJO{@r<-Y}; z2Q=m1E~plKJDawBrgTAfcMsIMp8?HEmu3`>fP|g=%}2|&g1FzryyKJ2RXDC&e_kR{ zxmhS2{o3WJp~dt)ESg_f27fPsQ8xr1heji%_1Q@ZH72UC$Swa*4O4qzq}QlBaaR-f z_&B|7zvk}4xEG=CG-?ks$=c9-YQ1Kv1H@Hhxzn>w(AMisWd7Y<{&3hQoDS#i@)E|_ zC!>cXwEtw+-Xr9%Z_V!8Z!iD8ia^)cdyP%g-JAC_VXCoAdXJERp}YE&#i)bpvQZY*EfJ?Hs%F~VjYaj zZ2FzgFM$R2P>}}CbPW}~bu{45RB3hQcUy9xH6gy;SM;{DW`UcyP#|9g77Nfcv-Dkc=}ZLZOS3v zG{48JP-at$#*Eo4#8u_c}CuT!qd5~WfB$a4K_DtX|E?GeVXOd zOtQ7%BsUTJI``@L3#NXcY7A#^)FJQnk6LFg@-i10(RXa!v3!f$0Qmrq^1*?H6~mh3jq@1JHO!Z# z+aE1TRxRba5$GvtCsi%qaXWivv1u~p)B>^>DhzXmQ~>*`)Vv=Gj|l;TU^oeUTu{3E zp~>}I^SEiZ-8Z$v)YDRa79yrMHO{-p-7X|&j(|#(tai=(NOj9$<*uW*QLC-d|i92D5?4Xid?vH5h zK<`Oz`E6k+YTaZR(J@*s_dLc%V|Hv9bifYRE;Z+7+N@O}$Vbi>d17;nmqE z?!p7}G;gE)8zrZhUBfR#&5#bUAD3o1K_VBOCi3kkqbbHc9X29bpWYt^FWe_b+~D*a zp96>J8w-|szilY_yri+*jA2K=UY!jnXP#jOtsvH(637IW#$2G>pddfH%H`ka z7De&#hP|ss$UgDh#m(xN%z*5SQr{bbb78zLxWIXsTj2>VSxPk1KaS?w@E;ylj-_Ht z{Crl+c~4EzX219-_Vs8H2w|}QE=IR@8%LjomEU1zfV<9tbb4=Lad_1-VCaknqebR`9_H;15!c$T8DfILriW#0`Pa3mI0F$S%!!gjos9`rcV zu&7ht_*y@`$;|c1&-d{xmhVr#jc|yJ^R?T2Q0VdK*tm<3A1~<4+%RZ}O+z_9Tb1OL zeP~a68?Di)b<;8=G?)uwO+pKGA& zW~TsKR%T?$9E}Kpg;3NPjg~8Wybyl(DI(%ht2864dFs=b-`&K6y#;R|Sk6JmDn%37 z;vMZ{&_CziPAYc8Z;<%;>Up&iJS(xIvC-qy!g~oA4StR?$^f)c23?Uu0>~N&PY!j$uDp;$9CHl0x=)EC;a}r3*ca zY4puv%3Hp@eB3c_EBkbJd%T|Pg`=`|gzsYcGEGHkETx&0Supxj=Rry6xs{6s{)UOE zqwo8Gju0}ye1JrifH0#Zz1oi!)%*bcBB|R~4N%{&ObN?BAM^U@vNHOSe?*zUs|9AG zdr9G6`2Env2ewV@S{Bd=R*E5KEFeBFpb${g4qlT0Yg}|Cf6S0X*dV@)v#fZn9^*hT z#UE?ClP3nb*Rlu7wyQuWgEI*!^OB;h$$P<`1=*B}1p4@J)V+D~pqUQDVL@BhR;+wcLh_b5mEBDH>*e zch~DJv|^CED4sg2F^ZH=O)i5n{$hedT33H1NY;^lYKn@>*8D^tLfj*cfdy`9KBk$7 z85~C;s-pvu-J@S`l8X$x!$xk@sYN{~QrNu(SB+m`uWOjK;)?CxEqkM|{#taunvc*J zKnJQld5NQ9^BAJvxu_(Red?~~OJB#R^C$D%4|c2jc;$Zljk-AyMeMpX*Z{?YZZ~@R zteb&H6K3f}re$=+mOJ0`nv1rhG;*I8%A6vOA9SRat(O>Ge(Mb_`8108N%xR+dr-3d z_;S%LPkEN7!0a}>4)%Z%&AZ#&r#2VLw@vtZSY=Mt5f_;7+g`d5gFP-53Q5W=M01zA zHgn|7qOR%6d`8lPO0oIIdrrjo#z95s&-;NHWti7&mOneccf#<=$4B=Qs99Fq-G6UA z4w;^-e8qz=bD?=Cc{R64Zj1;Jrs=f0_`_Sp#O;>S3Z9nMC+lnJCb&RT$c6Ql$Hlk8UgHcC7vsKH0+?q)w0*CvBD2U4QX)|p80mmvj@d;NudcHE7coP)UM63If| z^Aanol?gZLf8;znV!t%DKo>N$PV+?k4tB`5*xCb6_mkJ~6?95+4mcz}bFVh-m<90P%kdDQ9asazaCyl%(Bc7z8Bs3n1gUB|tJ_Xoo)n^@!J zD?cB~i&>1+#{zCcy!|yo8jM4e$|%l7sMfcENpXzO+O=8tAjOpE(h;6q=)vt>m%TuW zlFjWIquohPbDqTGZ7c6OvaP%8T1U=j95%)u@8ENzyByJXUt+4pmyo|Uo$9>rI$MTs z`%z(c#%0NWWpeNPcCF;&uUdbNru>y$>tm$^>8BIQf}UQb<-6%YjT9WWQ(Gizf4{fctF>|GnU5p=I=0j}opg#)?$H?)`Ps8G99} zz~1I{Gl-w?AD|KjEF)z`JojRsaCRI zYZBeKeGkfwSfoUJEqz{P<;E~U+>9+X2AMQYXn8N1J7^)$ngHTiR3S%n*%xRhrd$XH zS8(3$_rU_ci)LP7`G|W@r!#6vKJ=Mw#-p3wvf)=xCFdvk1B!2V)+Kf)_w#dtw2PHF zy#Aa>+p#}}-9Lgpnkd+@^;s&ec)+U~Y`e|}a@l~Z#CuY|(hPT~KRZz&X86YeJco0= zBi7vXW&Yhk*4-fibJ7o8UKMh0qt~8-_&cpi3ONE`qqdi5GClNxSok{i#-aHVzkBuy zt;(b>M*@LsT1oi_i~eE?%2A@qmk(b}i3h?5mC$YqyMt;}6OY!5&nrsdYJrc7b_Jb1 zI){IbjX2E?cKzr<{#P7*{7iU05LKRUyh zEQnvJY;0~%rFIE*3arW0S)Fx4A>sq23Q3Rg9wMtUPbX*as422T(OGR8@KIJ7t!p_q z1<#r)Ln4LHh0sA&P7Oc$yBfMWsl4s{uVtZEbBSs>Vnv#y)ZaF|{4b|6$$bS0dVm!o{=9n|eM-$GRrImV++8LF#dI<$v(D<%9DNbY70-PuH&P8wm zU%{A}y-Ac&ajLjSb(JPyf^+oM$5G19Qn%wWc6<5`XE|b4NF}VqBE6s++qlmgPA}cb zcT<@Yu002Loc@jNdfaZ^P2OMk^}H!FOL2>^S_Y5d-xmyz$q#ezjT+rv|GA{*R1Cto zdc7rz5dVc@h-InW0KkVY-qw!hUiZBt<_6wR2&wt7`iz0qp|F+i$QjtFS{2G3xS_lb zc=LYm-w3h`WMW<7_)??q;DFQ|Gt$8akXG4@lOJ>uPlUFoApK7OCduSlyFd9F(iP67)t^z0N)4g0!nVC z3Iqb*_)+}JDe?cm4S_M;LcB3utIh(%o$d4tmgw48GISFOCp1+I6F9 zx$^Lz0Tl5ucF+DbCI6Zg$HcOh_Mc82e`a*D;lx(KQ}+x;_DW|s^E?$PA9b?x;BtWo zgW}{V2aVZzs74(1m;LAe_bNsX2}#CP`k1uAh>0z`u7Sw#>{#!n?BVii>1%ZU+OHcH zm-WLA>IS2uHgCHR;!S@0dN$OP_7CFs@&E6uh6Lq~;Ay{?G?OkZy>4^%Fe-~+-ugX^ zmpNw~fy2*B(Q8fEdx~+h7J0(ojpxu`(^xiYO+Mq@F`|G_|68s8{SBD0}iJJd-B6MoI{!A$(!)9^1u z;J@0Clsv38*=c_2;MSL!-=TUTW_#Z`154I^U$)+joD}Xae0r9TC7J!R%>C>C`Wy5+7~e? zsjp?MzYHpwOY5MiQy1LEDz%Z{GFx;j*SD+`2m40_GRwbA;W2M5+>{10{!0D7$!e0> zdMKY#C7%y%vqbjKnmrEd+;;ExdpG%)&jpie7%paty#6>(}eL-u!TM8$eazE z%97_3{ojDdaU(NOs7)m7E+hc5y>6VaZ=+I6%siYkP5{H{q%}TFk!Al3;`@(!qSi%J z&*poD_i9%@@PQiX|NZ-475xA3^U2c~aUA^l3cSP~(H~SqFZZIiG|q7?mDp(1f*1oI z@Skz+tm9}5jgJsUp!6%%qie z%@vOst8mO{rB!bu9M4epZIUkI!teFpP=#7Z7QdCBQzP{EeZHQ!0JZ}}PQhWok?=o~ zx&tQb93WR~EB9=tFVK~Y=MS9}W(rd=zVLZB9~&*jy_%iygFGc$TvVAQbq6`9Yd6%D zDy&acy1Go#ikIA*`-Jv4WPBjR03qw;mRGC;0+r2aOL@Iyk0x=LztlGh9Eyn*TFepH zg)a~D{p}kQ$jZ*S{_!Icb+am4?L5zklUZURrJWk(+iCEPWcz9(7zgaliF$Lj|QXXeU+F4Y`GC5?upidO*s~z z#+Fpi^ZCEIjo)a#4q5Z#w!9VAjL*riMQek91-qj^6>$CdIUjI_TX6@O^yno1kMbos z#x2ZWCTDnNv*C=0%LqNTi$rW|Wq+i4IvYuAXW)*=J!apJ&q-N%FW7v-oseSo2a&xyfWST z&_?@1M>FlaWT7IACo^saU?0E)rQMikj@NV&wJkCfV9&^C0g`uvSWZuU+kgo-4H@Y| z?_0Fu%Lvk{rdM}8Hm5z6WeyQHzA55m`fu;%2dTvz4TXez^5&;gA?HEM>Y3%XTAqp- z?&m9wZI>P_30fQ1(f`?BjIESwG@ey7d^X)G!EBH=tTsvOZM#hjwE7*j{6k0E+g9M= z9o+wNTOL+zoN0}0*c#Bey-ZYKbBxpVkf>E5seo^hmv|fI?p>dZLS$2j*<6m2YG?xapw@Cx5npY5A-6XsbZxGvuR8 zKueP4U9{fmjP~h~9O;pTCE_AaVi+kX946)fxU!RpBi$|vwNrEt-&yAk`A#~E*8O1c zCnW3$;eR|P7}i~Y0vQZw4BuMG&EA_0>;HJ?e_Zh)QBs@~%QVvnHa(U5Mc_Pe-1=0s zT=HkP%P_5is7y(>qEuS5gTkNBVI>x-z2B)TtrTagGWNdOw1%tj8Z_Z;7I1P(d3|aE zyN=d6{!Qonqm)w5F#VW;(7Ax^BxS6zuXJl5?zcD5k2VBzj&GbQ$PAAN1B{7WuS(LS zT4t%m^}y!(v)VxPm!e@uS(Ifdo>vb=Ud5u#v3&7WC-#Zplt&o4<9tN+3Zch9k%ydm zgsz$|K=7qf;)ls;$G+MP;#hrR*ClUVML z{JA|CmL;_E*R#D=12A8hHeg-_yTC1oZyIj>N7iapX2Cy#59%T2gH24Tsm+OZ#p!F-3-Xc1m8COzN2#t1i0~)HxOTL^oP%!E!jMrlv9|> z%4dJ<=jO_opBbvE@(C6@g|#Bz|Ocx3`T zMez_Z`XnCr5BbcFs7K#Xv$q7F*2frJeG-ABwX5sAVhnpKHXEN~q!y_k(W( z{!D^OWQ`*uNS&tApuN$Wn@plT&N0K@#%)h>H5um{Guq5Ui1+}huS zksmE}7BUmaB26YhwWe1y<_RPM;5pklNM&XSIlj3Y$TP(fVEUOK=tXuPASOPN z0~t;;X8u93U4g#a54iZ$GCcQ>5)Q-VYdcguBvtNJXN{3x?S~1s`gTnH5B0gBgY8?X z@?{aR$U6#=M?Y^4fgC|F`KO?f>A^o#5e(d0C;P7e-*}(yxn2_kr4-Q;@6I@dM(f))@!gjL{NpeChmCEU|DGj} zW$1|+weu-W6d%RmiI8-q#uF~*syEDas|Ti*PdkTgJo;_XkS3n@1762I_RD(ZC&J)J{j2_d(7?bA5`@m` zo8jJ1938auT&sttrruw2{0_FyP7L_z8)za>3tsiX8K2%RS=Bn4HluSk33PrHb;`2l z_lo$SLbq-VFCxF@4UNc6+jQ9GaR%g{#QOWAkInwACv-#rdm5MO@p&1E?|V36L;tM3 zRQhFfrKZ-thjU%5Qu~XWSA%+5Cac*MZFSbo+S8&uDc|@t7MJs&Fe$jZo%nu7y@4!9 z=#fYy22W)@nlj*Jx2&@ha5PHzwLEB>^22}cA;@nV7T9f6ig_lYtSOM$8-rV@0F^|!n8zpY3yu*e=P2f|)vFhuEYO~9t;0j|20>BE zJ9{aObXrUED$12tR6$k;@xmDJhwx0@lwnpHphkyfofsYwiUs4f(H~)bCeY0JV=Q+5 zzU%oZBglb4?*unsUu}Fmeh%`Ef)wEtY?g8A;W5wU#ZFG%h@yD^j_kec}Gdnu{mbF%XXTowok*Mgd06GXj`ZuyKA;+zER_j8| z{CJf424NV??ti-A!&Rkc$dcB?$JLElJVuRPw9dfuG>FtR6-C%z1M?kds#~>P+X-;K z9p$MSomxk%dm6$S#TPGEXH#$iU>j=mJ&> z6Q;@YNCf_hOuPi{D>;R5R*j?jAGKFGUDbwEvumiIGd6$xI>y zrCQ-It=Bkq6XQ?V*s%6quCBrY$&x40FJ@!rkijKp1Jciswbm;6eKRSX)7}p=b|;%P zV?H!;?{ay8WaCvhrSR|9MyEzYy@&doPKBGls&D+lg3B`>nDj4j3 z+n_Ej3d#j!e3lEu0q6hV2L&Fw8ahosxf@bnbN zko~f<*@Xc1AER5W`_Ot6BID>gTNcP$|CAd|LPFh&hh>SyZe~a5lz7?6cc&F)H658=M?tarCUW~o z8Dq*1R`ofV{T=AnKpwj;7vp{J1R}@1UyOZHeSw?XwH}423H?B&2j>D$H+{q`x}?W< z2li}3I_uq&%?;sn^~JLxUB^cpa^Wp+PkZiz@0!2S(D<36(;z#&Y~yl=KJUgrOJmKZwk|G zW8yC(FmK+P+=$?8+*0@9CscVuw~7v+OF1mId+$mAIf21nuGuoW}@ycjY5v`Lqy2et=dOY&kX_T<%D*hafK zx7`NR|KV(n&%~9G%~wlgPhg*JijZh`fFdLaJuCHiJiQK$&949ECaX@%DI{r+rBG)l6lTv9GmF^(EiDt}O8ftlM zP1Yc~3{1a5U?q1q?Uc3jVaq&PDLGutEt9_``P}zmCH@-(e8W+HeT0r~&>kk|+~^&) zd2L~GM${=L{^F|PUNXqv-ttZMjh}Z@eAOeEZGY+SLn~>(pdfY;aJwvg7*?w7KNlh1 zJ#0?Z)Pki2TCg=_mhwLd96Cd_r<^0*%q=ctn=`U^qVwmw4Xp1V(c>?<^~4D_R)x@& z`@ay_T~y|k zZDPQ)XcP)kT!&b(o88%qdBoGX28qZ|%M9-)_cIkU%DLy92(_m4wyw!^X7byO*Ltg;y;(b9nVm{AIvz)oY zy37F&rP&*;H%Wqs7xuJ>ep{496g-V85Q-}PSstGnmD|;nIDX$H*vm|G2!8AzGiRI9c7#8#FmZ1sEW~HZk8wVRVS2aeEauy$ZciVn$aYU1EDP<)SQ%vYFK4SEq|fE7$DHNaacx845v( zVtgqQdOyuv5eR_qJU>%tl$jI6l3lU-;Mr?ruitFv?ZB(y__}uV=ReG{cHLDr*CfqVp7XxRVp`UGZmR=V$--Fl!LJ$iH0^mm9JaG)Ry4Epfo|#0 z!gterQ7o_B^WTQfM>TgQiyFzjul+iM$wD?~@RsM2!gOK{A2_#Vo_OT;+6^i}49tNj zsax8^!K&QP@XK zCm!nXzTf^wfSJfNvg15yjj!_=}SMzB}XUdZ*2g@ok*4 zz=f@W-_IDJ+8@EzN~vZB1-9MH;Fp3Y8Tt(Sow@+i1F!C4!<7qv(g%FN?e5`$Pkqz* z7;Ic~2F}&aynDr%4})YvO$@+L>LRb;KGc^YHRELGOw+7u>yNJtuy8EoY7Vc3o@8r+ zR$t-zA;+;KB2$E2cp`N2xd8aXsHc#QnpJm(_y>83*P6ky$u)j$+o5{N&iLeNAc4Lq z>4x<$Kt^45*$n|0*__+H&xQX;uRa*`OTO_?45wTRH+whZ3wWu!ckfzp&xrgjraPvt z)xW_kL2v~H92yVbHj~wU*+rmVZ$f+C)KX99PWRZCJ4B4k?|UZmAHu538dYXi1uS0B zzNBTw3u1*|6(6j-@(h)6gI_#(W7@dLHN}^W)q+nv3{Iq;H}e72PIs1`)ogog;vmA3 zR05PC&$050Tmxvh#vTkF)bL@8&+BJ-6Q6@rk>}raG`3O098adNR3rp9)_HVC-XZS# zzm1?Q|M|UF-}3g4dS;XIWyq&c&vLp$YqevJ@1vT2)_GXzt z?!tn2A#W}H40smH#;lk!JcKRUj^8pSt=`Z`_abhY590rw$WT-dwbuN z=e=qQ=ZkgvNpat_*%#z0*5@gIkv&RZOwtASsjhd|G;ct0^W0*Mf&1OW!kg|CGFF~1 zAfNWsbad4rg6RGfVyfuZ{o&9Zjk1LX>6i~^yM2hl{b>)YnkGAA~l^p-Zil6TI zxbxId{Yu_LLd>=b!XVg=!|p;(graiXtCS0irA1Xei%&QcgL>o0gKjVlOWD zmLrjXG6P7Xt30#p>rur|)i)HE8 zH)dT=S~Napv*K>;LsGX5bVoGnGCR%+U6c{0t2upanQPNc52Al)=4aYeG{An<{~-fZ z&M&1QaKmwB<0oGR*=5Jff3!m&^ccMG#dhS533@nM9W;|}_S)laDdRm=I1VAX9974= zCGvbi3}_i#(UV8Y2lK#mmfYUpOHXJQzvU&yv{@gSOAWA#6#fejKXXIjsqJ3|Yc0?w zHd>UD++0l`lAMSS*LPHTaZ8uURrtyvg{^1O+3+9nO@Z>rI<$n|>RE9c+H7)zc)u40 z{5=WcmZEpu2{eb}%wJGBD{oubXTJ0PcosRRb^#h6*P2hY(^YFlRWD+kxB1LoTGauQ zWrPdh=wcDHC9uX1pBAUWDK*}FbflBk&38{5?j3p^7yM*^;XF!PD`H*=Sf(M%6fs8= z{G^K&y@%Vn*=`D@+osjPEJ#D?HJwI>?qYA7nX_!z7Xquv$M%AaS(BP)@rxJ*TrY6S zzlok38jr25PfiN1Uk)#B>a&}J(Y~3jnw!F* z5>*Yslau=08VP?!?R)CW^301-Nuv!zj9s}N{s0bvdxKxbv*(3-ELJo1?uK?edXU36 z**VBo=t<2|eyPoCtm%^&Iv>_6jCLH|(2rP=>{T(~dU>RaSMT?iuG6n3HaN5~&r{#C zi4JshgdG-qwH&@bIA$#NLzFMx|7A*Kj}&0aARK{%;)grx_{8Me(5o+#`1z)EX`+XBA;<+5w|lRbTJXg^#3| zzQP`Evm4lh%m?zvc1ej1T=^J(ihLC!W*wnls3NDmuYbTF6Ipm|&`CT|ZzTUS5y3~Z z`lXgJqJGnZ?>QJFUJt-$v8a3R9*f@mQiRYzeZ8wl1SF$G*#OBg(mdi&UIK*oNcZKOeIT937&v>Lv>)xfOK~FP-|0PJM3*>z+k@L1j64AGq|*CF-H#8NK6M z)sKS0I6xKQf1d-NoILIZmPNWH^Befh{}gwuQFSp=xj_2r)R99qGX%+X&^uaJw(|pg zpY4fD%)H=~9%M+bUh7hqjISgWPVi3?Yz_}0ED-F!buL6X+#-~-^B}SBO3&k) zka+eU-pIXk@_?#r>G3v{o79g=Y9Tl8Tt-ZXV>*iUL&5|SJQI5|*w-3;MeRLTQzCTAo z|FBU}g|>OXjj!27QpKHilOdN@T7Q354}mB{;=$)hdw$p4x1uZk)Y_~A91p{e zyG-CDddnl``VE$agQI?|3H}t)3&kbhYE6+zP(-D;?S22wPk1ut4O+TUKOWU@+JPR^ zTVrfO%!?RPDYZXm9kPeDCDNi{6^vJW&j(->M#eV29gVwc-Q;_hyTts7_U3u+bTymk zMxRPxS^>=b?{ME7#5AO?YQovjz9f_BIDw!jm90fv%U1>?rbO9^CrGmEi;%;;`=Ken z$CO}Al{cS!dDp6kYzhm%X01ND4=Nui7ISVvf5&q>)^_fwrgaChat*ihy-G8~XG71E z(&fkWD0>20+LuLm;)P=VcbUy`4kG6D(*S&{CN}yp@5KdiMS>i!$#t*NQ*MZed;OQC zrZ?*{;t}N`kGAF`6w0v&aeB7q**0#n&O}tjc%Ju!}=#nvI%o7I#)G zzW=zp%h*# ziPs*WJvtvUF}GrF;z3gIynok2vLC{Cd2N$!%KmCm!uuvLxVM341tz;+8K6=%SgbOj zH$Iu#E#qyecR&PTB_B{iWj`Cz_P)WIvxMhC@2yF(1pa?hWav=3021qmn1B*_j?asJ zGKs+;YmKVUFmjX}Pfn9Tm=U=}YUq|bD=dM&Tn86{W}b{Y^JsYo5uBS;B2KkD=nnip zvjzU0j+IdAo7LZljwIV<=q_m(QGcli=-T8udAURLXVXWBhFaDaB_Ry*UMr49VkG2r z)4qlL(ntq@4TN&G5wdbY@76N-3wr8 z1U_E-E#_Uo^rdrZ@l-@kx^ViQo$$Ztz$ZVFFH{XAwxrBW%uv_A1r+=EA=@v&S6xYO zwke@-Z~y-{D8bj$T$=47$3+;o`*<5^$#Xau;P|(|qmW)2fnUP5T1>oWz^4aM{7)-q z%2RK52my~~Ciawm{EK%T6GYcrHWQm(Vj|_l82a#2iUK{DL{HRSpQySzkI!)y!a>J- z2+`t|BDaiE%3E8l{YQkh+@(qxnLmyFe#n9G&XD|W zpxn)PGsp4QmX!2k8pWvnzFW*cGYc&Iz{QkMdF9>;w;8Oy4wr8RpyWKr%ExuKOP4<~ zUy&S(?g3n(i|sSCarKr~G<;TvqlVX=#U~$2jP);y)8c>%^^2LGK|V3fl3hvpIi&`n z)NG$!+JB@0%?CIzZbbojx)!;&QNDf?>q$?z-q1T_*5ZBV1^MilyH3=?FI${$6iX@h z!Aq8L%@%Go5B6hpw653tu0w`In+wg7vgI+VXQ!RyGi+7V2L2XeE{|zGcCB$vf&S^d zU%3qR8a4Yz=hi9lW`!!&X{6Z#lICDAQ4QaUtvQqK*{3M4g8K79ZO&{e0=uBU_TRC! zoz0U==gzp<1TfuXuN+1kW67#BQb40Dz^9jZU0W@Q0;j*%5yohiRjV7}^|RL=8k-F) z)vMF-=SA#|x@LdrMX{1;4>FF(xV0f(Kw{5deJB|w1UO$8Lc)jk?%g|H1#~i{u|V$S zR~a(>@NBk`GSikuaX{Jp=!&z9>8$R1C}|b~mKNBoIlf*tAC;!U(qT}Q)T^^VcFJK{ zn|w}dM0N!np{vME&{aYEnDZr~cVD+O0LeH6c8b1ml>c41f4)T2+yPa3_`RfKG(mhb z&DEVqw?~IHjN0u7c#=w^tIJ9Hy}rpT-b%vrIj^;8%q-Q* z9%gA6=A6j;oUqB#33q9^i4!L-J4Wvu8g~QDaq^Jm1KuJozv|1uE3%om+@FS}ie~Gw zHz%RznzK5+7LZ_xeqV8idh0{V@Zf1rErJ?|)a7-_cN|c=d0YN?y|2VJIL@a^>FPCY zZ~dMR2Jw2@mp=N5cu2Xv8$&eX%rZP*>R^x-cp=5UnpHPq}rZb_zi)4?Zlt!8Ou z+>Sinm&jSkX3b`Ds zFQ?Q8YX})-#hH(r;q6vmE3|+>;&8U?-)UCykd>i>DTmdYCN`WWIry_xem{Y!W!2?T z?c((*Ub=5*s=tvI>|P|d`-wxH=CUkmy3+4QQgY!=7isqEJXBKORxFpZJRbR$o9^00 zH1KHylaNJqJttAcIi;dR1n;H_>*c-O5N4<~q^%^~!FiWF>Hw3ujf5BNMir)U1vNG-! zTb`TH=A06-OZ$FSXNy1$ALU=gQKQ}ms`7|w{1-D7_Wf9Y zR)eJ;A5FB(4YfGt*imG{hx_?*s6U_h%!>nc%?XNFwyLU@{?To0rDm`byGD@zBcUK$-K zQ4mI-Atw0TMYgPpbOzLQk}ISBu!#u%YUpCh??gQn7`TV^-_5lE9Y{_1a<;Mvr%LCD zxQ05IpEp7jx%c+DVo4G>Jk()c#MKubi0MOFZd!gkLHX{p8+YFi%KE-oAicAjeJc?( zj@#MhipvSr0+|_D7MfqOm~n5^`z+7?WWrZ(^WD$ZabfHQ@1}V@cTW}?4RcaEuT?yH zOAz#YfN6z}ZajW`pM8yD7Y6qDz-$3hXEx$$|pQ#a&2cN*z$44JDf% zzT^2=J4}?ZEq6Q>G=raxX$0to4_wZw*4ek!*Vc8geyg0f=w9x@vl&hql=j^cc1BWZ z{_xz2w8x$OJKc_yy#=ZN1Ozd${1|%&zGp(fK>MnL2Z%Z8Yi$M~Fzb2vT@AdYJPs%b zheqP){kF|$J@e{IY)94wV3?i`oYDHXIhx9mbW^x3eB>#M{nY$C;ohfGX9_x% z#MD@N^)#CWlgYouF*t0_!1gHdXb;-<|N0MQvsI=Z;NYzTBv=ii&z7CgoCi1L7d$~K z_7HI{wY=PfmQj*jjmcy(0%c=Zx`T}XrB&y`{=S>$+eU*!tTyKZ=mY1yeK85sLR94l! zSd6(`4%O=unruw`ZqWLx@+S8b3>u!dC1MiDq;+9zYwyn6p|sRa(=xhl`;iz<*;81j zj{rjMlw@zQ<1^?* z{D9OV;4CKY!e4ao(``BYd(q6k9m^lScS7l2t3_`VeTJ{8QM%WJ-aaQPUMNUBdL5$O z=&x`cpEdw@S#cjs`ZDd0FAC3R zS42E4gvjfWVfa>?@E2<}p{3`rLF6TTkc;8_AsQiBLANe#B1cDeJm1SNP(!Eo*QxLg z)zc0g;MYx2N3{J;9t(oTqpW&IjC1yj%?$l+P^Z;mP60O8RImoL4e|u>#VvpC;b{)~ zi`F<+&bxJ9oAU**cxi5wg9sp4GD-JrZX2sY4h=Mc;(Zt0tgtD99r{3}{AEFXaJwK3 zT)!j&ES`ff@bdujw`aKp&kylTN2xcME9}zh(XA%IkHGMvE60r$j*fo|Hm<^O@E9AK zPIu;J3#}|?S=oELWo)WAYc@BIQnE$*8)aljVe~p6C1A`0?(BT#@YU%P?a_?%nAo!- zN@b2esdc>!yt!Fn`#cY2&K5B{j^o>460eUv6#R~Us(2dHJ@+rq8y_DtG&J?j>(!en z-9^3d@jFh@)Ns!g+F6DKvNmalDRRF}BOm%&Sy)PT=`49qYe;=EvHnmIrf!WJh}Gz| zH_r;q8T$EpKlS6og_n_sg0y(WZWR)atjic&eLZ??o*-0!>I>;xj zvRTz;Q)C^?27jY0kdwKjRZ4`T>E8@03O?`JvGoE}FVN_{@0hJUiGB~~UQ+)oKl*Uf zg5GXYN7{v3iy?iSmd(ebhn2+_8<}5^nv8=|B6AHL`*2(>XfrBB4_WR=UtFZViCnFC zlAwn?%^<9sK5>r>e@6^I=fc82CJ1K2Xqq?T?)R48>Uo3< z$#an+CEf3fW|D|K(&Jm0$%gC9jqpmNt1?{E9MI?DiXyz*9`#Bh4pTCWgcoxAOU-_L9_m#Y42i*^Rn&K6 z`!99#|Kl^Z`-?PJ*2h(uMjy%sCN}Pbks^3UX=RRPKC3ADRObr z=@)wgM%wifp1GmlsrF|#IB0Z}g^_udpSg&&4&BU@=R0R+nnOd2!#y@{B#ao0y#Gv3 z3Lce+lZ~Ohe#eab^dJwFdQ($f^3F)2G1b`{oHoBp?*Ukv@4bKUc|isW^dtS7*2^;O z`}3<*tkE2zaZ+lhT)_mQXvrMP7Q``S{J@V0o?S8xYgsZKg8j&syuTh5)CgxbG2H;rE%XnNQ#C_mum4&uHAvAVvn42?Wu3q35)DGk> z0zO{1h9!T9}OlUOH5?H;T$6TRM>S`QjC%)0~ao2R68jl(ivESY;nl`tXU|u3e*k&6e51 zz|20qTD`x!e0)#^*O1?C+3gs(e-yJRMnS%d{6Skb*!A)v3R<^1UN}6X+$v^P@R+FU zn{`dNuD?rMnyt4*P}yDnpDw`vc{lG)@6#ph^fx?d88Q7_tGu8GVB@GBk?Fnu=wHtf zrG}F&#HK-@81U+Pgs*yj?3f?ZH0bjJo7BKYCkugE?lT}Xa1#}cL_nZVdiK#QKd|aj|t0{Fj5S+k1JXrganAbetn8& z6yaYor>qyf*fl(=)APvDd8|oM9y7l22z`c~FVCLcf#RHx9V|Mz7MW!jwZx-E+b;e0 z0=|J26C?_~&DDVfeb!(p0NYYKtWgaJk2iXXx?SZB&PqDGCTt%n3SDjab#umiN;Mwb zoP%fa?QNtWABWPA=g<%3iW3&|X4NGHp%AZF+`Mqupy8=8H8LucgfabWvF7k zZxv1b6Nk!|h)+k^ozSBL8K|-|>M=W*c!UV?_3Co|iiHma)zbL8o4T>YXJ1ui z2h|eZf`#mAHQ$V!B+`99vM)b~w%u#WNdtyXF9`kkclzyxxi_*iTN|4mYRb#+lag)| z3V2@{X@<2PdEd3yzRmy*UQMNH1#yqX zt=H9KP2j^$>Qe3EJpXrOV!Kee8lx&CDWD{Zv9VX3(`Ay-A{?29g1<^GFA+SE^ys{3 zTb@SVRib$8jjWbqjf_}X&L=9o`lt@}$Mxc+Fab_|RV3{m#ZJ)(a!4zO) zZ^^*MB=qppxDE4ifZ4TgkNk7pufNPM9cmJME0Gp%*&waz!37axZc>$9cM7Zfr|FJI z*{Tt*Oi4j?EWEG7opT_u@!HtM0C8vsz62_Y&!*1#biRh1TqX*nVv=1eQ-w{B0tpy% zoj;ScX!wD6Wz3>GZ7FNPQqs`2$67Sw#b#{|9pS;rdcU#$Rvj|9LAtWLIfO|DwOkzd zld}I?*$BeGKuv{$f1{0nBI?#dy&5!i&l>P|mC6{5BZ&9(SN%~zBVQLrqSzAQtLD$0 zZy~26lQF^|8iJ1ZH+o`aZcE(9yww+*ipg9^z+uwSFu-i-sA$qVbdz}|hIz@QRpk^0 z`D?AbDJ}%38x9;yh@ZzuSv9MvTvg9ymDByR5_^gR5pb0C2Z-tL{d@KZG!dX_G4PZD zSE&Mil~0T%9b$x$?UQXXAYOCSvTd$L4EUxlW6h+gH9s-uPD(-@IKV+p6=X)Oqf1fAn+y=!Tz^L+$Cf3Aw@-gp?IqbrAQ zcR(NGf|@7rygTMjk*2DYu$vK!Up!p-Hzvow9aH-^0pGxEdg#Xj2X1!kXT9IMXhYrI z_pVR#IVM?u-_DB`D!>&hAoHnhdoP>6)A5=j;?(j}Rc$CJHS5`MXlLV$9!=3!6Dblh zcHs8;SB8k%@riAN+RX%*`H3$E_Kj~OBwAU;M=%SwEq+%IOE|U#JMhz~_yd2ZVCT>F zx?3v=42sxLIPW-W*(CM(*Ds4mpqYVGr)x{Bb0(!vEN|CWHuU(CWi*-S8OI3$*p>XI zpvhPQ;+Fuos*tRKY{pa%qWT-LHC8*&CZUq$Ns|Hz}J@ujax-bCH$!UB^-5WtEak zhSWCcLm}1$kVOTY2o@hKd){<*LoQdq($;jZ#xkgvhS#U`lp2tYpyvGf(Lc+D$n%i6 z2s(xkhIa;@n?eqEGDr!lQ=9?Ni$Z(LZDN_rk~9;5*DEBLgpK1fEN<__v8quV`pgB> znv)y|J2&rfcUo>OV%)ycP}I>jX2`3dg*`R!U+E}NRy~~b9gjT(SP|}#>LmvUY)$tb zhzN8IjL95X&!59ntk~h@Ocd}HuHwsE=!@|ClOk=*#>APzR37s3+?ATtTu5=n<@-4^ z1GSZu+>w!tI6)jBus=SV%<^*<>@XuZi2!hE|5Dfrbi?GKZR}#<}mgfj) zzXWw*ej^1adiQJ6z}c*(W6NEF6uBgc01cW*pU5Cfas~Pl4)`G>(tX!@%*$AAQs}@> z5z;~m205ts))k#qIy!*5Hr>`kcpj`fiFqrOBq9%iWRy{1YBk({w`$M6F)2O$h=}@7 z-vJb)7>6%wV=&lYVAx>bv(`#)I7TRX65&;Gzc$j&jcdIeG|;}*R*uQtn$A``c1K-n zAoe%~s+Zn9fCvGUpOH?;% z;S$xGX*?>#Av`$AKlb0V&9*ZJL$E+beT3ifB7}fFXZG1slz|fns%UyOiDpk>a9;#s zNJv%OZ!^K-I16%-+pZ(-mI>I%SEaZpx$;IMmO$mNWi(hwi24s|ker>9&T&vb;G%|3 zCC>(k@ZqmMjDcoW>w3v04Mq5X5%m7OUGt%L*sn1IgaBI^T8{kkbUch}Wl8uBfU}Va z9LeHqBZ1Or;U4hs-S*L)fS);S&C+;$Kf$%(UiA=K!Uv&M6_0|;DUI`0b0@it0ECQvjgjj zCA?}HSck62Iicg*P)Rpkoiqa6pTMWq*UHN35*k&8bLZ2uoCq0pU0qMznmX=0-eeuX zrm+{-c#RgYLrK|Nw?>syXC9!vb5|K~3(0K4rbL!7!BvPueKvxKND^OD4tX2VDpFxJ zi?eor&;E4RA!>xCeM^h| zdyK`@ErybyD>fCq)+vpq;7M1%I#rP@_Oeb=QVWINq!zo=H)ISsaM=5I2(~Hsh+g~Ij))yDK z>*yHxn*xvQ-;S4m_cVY1^8fTT_EY02Z_|MN8w@GzIrM)X;<3IE$tm)x6t~|o;N=HR zN9O(G+=N9pv9KJpTI%{j9WKap`Y7ZiiZKEY1`%&ao)zm3MADCA#1Wn?+og-NKBov^X!a zx=&PV9rH@KUzxlfzxE8GXcda7ba*CU$>1bgeHLuvXzhR0C_r%*_{7swwU! ze%$%(-v)>Vi)|wJxm|g?Oq;J%oQ5baKE>7fRv8$oh>xsVdPnq%W8F`9yr;b!D>!yo z{g-`)wLLvP%6c>HimOZIhBF;i>}pBb&hrF1`jpxhR=U^x`R=tsBiBSQOWwlhx94D^ zn)(dIB;zSG(}Bs(E_(R5P^^?hbilvVM|?xYZ;UN@@{aPX)=^dBHefJ^C|MJEq<8B& zVkZqI0AtquG9=AbA_m<5EN@aI5C~rKied2+xNZECRz|3zSE5_HjTBKKr-e;f#dEHy znX|h|;h(4bVA9s1jLyTvb2i4rypYQ+e~H3T3OQ>WpYAkG6-5&^cVy0-qQWj;yo^)$ zDOmAU!~YZpeb2(>dR9@Wgzq)!&)rg;AdWHMO7K6c6$^FtEMCUuCsr7!sD%4w&fR|DK8f|eX_3~$d>w?)ELW;lgBIa z#~O7yW<{q-4r-ejm%2sV&gkWv^dY{CaEu^x3NX>p5;XKt<3j0Tn8tVpS&+_}sw{3T zrk9r9480Gu{?fZ=%%wG&o1f}PBsdHnCZ;o6)?%}fP8aZ|Y}t;%t;|b^jtX!NXL?i9 zgNnr-`aSy%Yi4rr7J9L)CxXTzU$5q{_E`E$La$lR^{mcNg}S!;vc7Fi0wgRAz%WF@ z!^3g9jqj!?pHNxoQYkL{MV;B?yR^xk4$OaU^?hjln@UK+U!fVKIfLDfmHU{!$(?w}7gTe|DrOVSOg7bW#%reKbaTn=}Q zYQUuZ*EW>&<8jS(&`DRTUb6YrTC|&)%3JC`hq-101gsU&m@>3f3+_=#OytpOEzo!{ zMKMeg{Z~>-KNe19twy`Xk;NX(VXu%sJ8DK7nv`v-=tc2 z7;RDbh};|%HN}<(+Q)BA)@W+wgS;fg?|jd*z5!5GmWEa~J)20{PdXnrJ=Zqf!1DwA z0wmRH-M%OwLU6O4cM=3Z6U}BQ76rq95hMt@Gw$MU&%hHW65-#x^?cYNbaJ!JS$WNI zy2P@*X?7Q}ViI8ruVD8g86bD)EeJDwynqW2LVIzJzbQ0|luaJuJC`a(kQC*HkXy7e z$PzQ;qsENZ*vq+hd7mis+(JukZdF#Rn9Ed6KBu5lPoqOk$ZE`gl9H0$3m77fTqsbb z>op2*TjB=p0PeA}KJu&0Rf1^^N8GX<)4j{H{KReG!Zw#Hh-P3orGIfh3H#dxl%Gi!5m@p%HtB1E}XJ zS`0d)ufKK@yeR?!6!iE%49%O;Pv@`cMMC+}@tPTG-+nU*kM&z+oolF?2p0cpSTgFv zkD^%CiC&DrstHxX<)V661LHQG!&T5=l-iU#k;vIkt%bhuw?@wqk4Y@UwqArRVrj9G zxq6j%gka-2TaaIG5hxk(Rgw2s$sKU}v$wN?GfmY*24Uaa8sB+JUW!s>0F8p#1rSzLEHfNw;ylLDSD2_S+UHikUg;ISfY9_tG?g`E#=)I%(E<^l z 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�TN?BDoWPW8m$PsP6^ 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

specifies the directory for storing intermediate files, and keep files. + default store intermediate files at tmp dir, and auto remove after run. + use this option to keep files so as to review jstack/top/ps output later. delay the delay between updates in seconds. count the number of updates. delay/count arguments imitates the style of vmstat command. diff --git a/show-busy-java-threads b/show-busy-java-threads index d19ae23b..e97ffbbd 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -39,7 +39,10 @@ colorPrint() { colorEcho "$color" "$@" # use "{} &> /dev/null" to discard bash error message: # line 42: xxx.log: Permission denied - { [ -n "$append_file" ] && echo "$@" >> "$append_file"; } &> /dev/null + { + [ -n "$append_file" ] && echo "$@" >> "$append_file" + [ -n "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" + } &> /dev/null } redPrint() { @@ -61,6 +64,7 @@ bluePrint() { normalPrint() { echo "$@" [ -n "$append_file" ] && echo "$@" >> "$append_file" + [ -n "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" } fatal() { @@ -89,9 +93,9 @@ Output control: default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -S, --jstack-file-dir specifies the directory for storing jstack output files, and keep files. - default store jstack output files at tmp dir, and auto remove after run. - use this option to keep files so as to review jstack later. + -S, --store-dir specifies the directory for storing intermediate files, and keep files. + default store intermediate files at tmp dir, and auto remove after run. + use this option to keep files so as to review jstack/top/ps output later. delay the delay between updates in seconds. count the number of updates. delay/count arguments imitates the style of vmstat command. @@ -132,7 +136,7 @@ uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support # NOTE: ARGS can not be declared as readonly!! # readonly declaration make exit code of assignment to be always 0, aka. the exit code of `getopt` in subshell is discarded. # tested on bash 4.2.46 -ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:Pd:Fmlh -l count:,pid:,append-file:,jstack-path:,jstack-file-dir:,use-ps,top-delay:,force,mix-native-frames,lock-info,help -- "$@"` +ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:Pd:Fmlh -l count:,pid:,append-file:,jstack-path:,store-dir:,use-ps,top-delay:,force,mix-native-frames,lock-info,help -- "$@"` [ $? -ne 0 ] && { echo; usage 1; } eval set -- "${ARGS}" @@ -154,8 +158,8 @@ while true; do jstack_path="$2" shift 2 ;; - -S|--jstack-file-dir) - jstack_file_dir="$2" + -S|--store-dir) + store_dir="$2" shift 2 ;; -P|--use-ps) @@ -208,18 +212,18 @@ if [ -n "$append_file" ]; then [ ! -d "$append_file_dir" ] && fatal "Error: directory $append_file_dir(specified by option -a, for storing run output files) exists but is not a directory!" [ ! -w "$append_file_dir" ] && fatal "Error: directory $append_file_dir(specified by option -a, for storing run output files) exists but is not writable!" else - mkdir -p "$append_file_dir" && fatal "Error: fail to create directory $append_file_dir(specified by option -a, for storing run output files)!" + mkdir -p "$append_file_dir" || fatal "Error: fail to create directory $append_file_dir(specified by option -a, for storing run output files)!" fi fi fi -# check jstack-file directory(-S) mode, create directory if not exsit. -if [ -n "$jstack_file_dir" ]; then - if [ -e "$jstack_file_dir" ]; then - [ ! -d "$jstack_file_dir" ] && fatal "Error: $jstack_file_dir(specified by option -S, for storing jstack output files) exists but is not a directory!" - [ ! -w "$jstack_file_dir" ] && fatal "Error: directory $jstack_file_dir(specified by option -S, for storing jstack output files) exists but is not writable!" +# check store directory(-S) mode, create directory if not exsit. +if [ -n "$store_dir" ]; then + if [ -e "$store_dir" ]; then + [ ! -d "$store_dir" ] && fatal "Error: $store_dir(specified by option -S, for storing output files) exists but is not a directory!" + [ ! -w "$store_dir" ] && fatal "Error: directory $store_dir(specified by option -S, for storing output files) exists but is not writable!" else - mkdir -p "$jstack_file_dir" && fatal "Error: fail to create directory $jstack_file_dir(specified by option -S, for storing jstack output files)!" + mkdir -p "$store_dir" || fatal "Error: fail to create directory $store_dir(specified by option -S, for storing output files)!" fi fi @@ -245,14 +249,14 @@ fi readonly run_timestamp="`date "+%Y-%m-%d_%H:%M:%S.%N"`" readonly uuid="${PROG}_${run_timestamp}_${RANDOM}_$$" -readonly tmp_store_dir="/tmp/${uuid}" -mkdir -p "$tmp_store_dir" -if [ -n "$jstack_file_dir" ]; then - readonly jstack_file_path_prefix="$jstack_file_dir/jstack_${run_timestamp}_" +readonly tmp_store_dir="/tmp/${uuid}" +if [ -n "$store_dir" ]; then + readonly store_file_prefix="$store_dir/${run_timestamp}_" else - readonly jstack_file_path_prefix="$tmp_store_dir/jstack_${run_timestamp}_" + readonly store_file_prefix="$tmp_store_dir/${run_timestamp}_" fi +mkdir -p "$tmp_store_dir" cleanupWhenExit() { rm -rf "$tmp_store_dir" &> /dev/null @@ -278,7 +282,17 @@ findBusyJavaThreadsByPs() { # 1. sort by %cpu by ps option `--sort -pcpu` # 2. use wide output(unlimited width) by ps option `-ww` # avoid trunk user column to username_fo+ or $uid alike - ps $ps_process_select_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers | head -n "${count}" + local -a ps_cmd_line=(ps $ps_process_select_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers) + local -r ps_out="$("${ps_cmd_line[@]}")" + if [ -n "$store_dir" ]; then + { + echo "${ps_cmd_line[@]}" + echo + echo "$ps_out" + } > "${store_file_prefix}$(( i + 1 ))_ps" + fi + + echo "$ps_out" | head -n "${count}" } # top with output field: thread id, %cpu @@ -297,7 +311,17 @@ __top_threadId_cpu() { # and use second time update data to get cpu percentage of thread in 0.5 second interval # 4. top v3.3, there is 1 black line between 2 update; # but top v3.2, there is 2 blank lines between 2 update! - HOME="$tmp_store_dir" top -H -b -d $top_delay -n 2 | + local -a top_cmd_line=(top -H -b -d $top_delay -n 2) + local -r top_out=$(HOME="$tmp_store_dir" "${top_cmd_line[@]}") + if [ -n "$store_dir" ]; then + { + echo "${top_cmd_line[@]}" + echo + echo "$top_out" + } > "${store_file_prefix}$(( i + 1 ))_top" + fi + + echo "$top_out" | awk 'BEGIN { blockIndex = 0; currentLineHasText = 0; prevLineHasText = 0; } { currentLineHasText = ($0 != "") if (prevLineHasText && !currentLineHasText) @@ -313,7 +337,15 @@ __top_threadId_cpu() { __complete_pid_user_by_ps() { # ps output field: pid, thread id(lwp), user - local -r ps_out="$(ps $ps_process_select_options -wwLo pid,lwp,user --no-headers)" + local -a ps_cmd_line=(ps $ps_process_select_options -wwLo pid,lwp,user --no-headers) + local -r ps_out="$("${ps_cmd_line[@]}")" + if [ -n "$store_dir" ]; then + { + echo "${ps_cmd_line[@]}" + echo + echo "$ps_out" + } > "${store_file_prefix}$(( i + 1 ))_ps" + fi local idx=0 local -a line @@ -341,8 +373,6 @@ findBusyJavaThreadsByTop() { } printStackOfThreads() { - local update_round_num="$1" - local -a line local idx=0 while IFS=" " read -a line ; do @@ -353,14 +383,23 @@ printStackOfThreads() { local user="${line[3]}" (( idx++ )) - local jstackFile="$jstack_file_path_prefix${update_round_num}_${pid}" + local jstackFile="${store_file_prefix}$(( i + 1 ))_jstack_${pid}" [ -f "${jstackFile}" ] || { + local -a jstack_cmd_line=( "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} ) if [ "${user}" == "${USER}" ]; then # run without sudo, when java process user is current user - "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} + { + echo "${jstack_cmd_line[@]}" + echo + "${jstack_cmd_line[@]}" + } > ${jstackFile} elif [ $UID == 0 ]; then # if java process user is not current user, must run jstack with sudo - sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} + { + echo sudo -u "${user}" "${jstack_cmd_line[@]}" + echo + sudo -u "${user}" "${jstack_cmd_line[@]}" + } > ${jstackFile} else # current user is not root user, so can not run with sudo; print error message and rerun suggestion redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." @@ -389,7 +428,7 @@ printStackOfThreads() { else local sed_script="/nid=${threadId0x} /,/^$/p" fi - sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} + sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} ${store_dir:+-a "${store_file_prefix}$PROG"} done } @@ -403,14 +442,14 @@ main() { for (( i = 0; update_count <= 0 || i < update_count; ++i )); do (( i > 0 )) && sleep "$update_delay" - [ -n "$append_file" ] && headInfo >> "$append_file" + [ -n "$append_file" -o -n "$store_dir" ] && headInfo | tee ${append_file:+-a "$append_file"} ${store_dir:+-a "${store_file_prefix}$PROG"} > /dev/null (( update_count != 1 )) && headInfo if $use_ps; then findBusyJavaThreadsByPs else findBusyJavaThreadsByTop - fi | printStackOfThreads $(( i + 1 )) + fi | printStackOfThreads done } From 9b1e702062eda49668eddd3de44028c2e25e802e Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 17 Jun 2018 19:23:35 +0800 Subject: [PATCH 118/141] ensure output blank line between thread stacks #68 --- show-busy-java-threads | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index e97ffbbd..4c45ff90 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -420,15 +420,22 @@ printStackOfThreads() { if [ -n "$mix_native_frames" ]; then local sed_script="/--------------- $threadId ---------------/,/^---------------/ { /--------------- $threadId ---------------/b # skip first seperator line - /^---------------/s/.*// # replace sencond seperator line to empty line + /^---------------/d # delete second seperator line p }" elif [ -n "$force" ]; then - local sed_script="/^Thread ${threadId}:/,/^$/p" + local sed_script="/^Thread ${threadId}:/,/^$/ { + /^$/d; p # delete end seperator line + }" else - local sed_script="/nid=${threadId0x} /,/^$/p" + local sed_script="/nid=${threadId0x} /,/^$/ { + /^$/d; p # delete end seperator line + }" fi - sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} ${store_dir:+-a "${store_file_prefix}$PROG"} + { + sed "$sed_script" -n ${jstackFile} + echo + } | tee ${append_file:+-a "$append_file"} ${store_dir:+-a "${store_file_prefix}$PROG"} done } From d6102f0e2745ef1a5453d8407548be99659865e3 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 24 Jun 2018 23:18:45 +0800 Subject: [PATCH 119/141] emojify --- README.md | 20 ++++++------- a2l | 2 +- ap | 2 +- c | 2 +- coat | 2 +- console-text-color-themes.sh | 2 +- cp-svn-url.sh | 2 +- docs/install.md | 2 +- docs/java.md | 14 ++++----- docs/shell.md | 58 ++++++++++++++++++------------------ docs/vcs.md | 18 +++++------ echo-args | 2 +- find-in-jars | 2 +- parseOpts.sh | 2 +- rp | 2 +- show-busy-java-threads | 2 +- show-duplicate-java-classes | 2 +- svn-merge-stop-on-copy.sh | 2 +- swtrunk.sh | 2 +- tcp-connection-state-counter | 2 +- xpf | 2 +- xpl | 2 +- 22 files changed, 73 insertions(+), 73 deletions(-) diff --git a/README.md b/README.md index 89349a0d..d462f8e4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -:snail: useful-scripts +🐌 useful-scripts ==================================== @@ -10,16 +10,16 @@ [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) -:point_right: 把平时有用的手动操作做成脚本,这样可以便捷的使用。 :sparkles: +👉 把平时有用的手动操作做成脚本,这样可以便捷的使用。 ✨ -有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! :sparkling_heart: +有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! 💖 PS: 本仓库的脚本(如`Java`相关脚本)在阿里等公司(如随身云,见[`awesome-scripts`仓库](https://github.com/Suishenyun/awesome-scripts)说明)的线上生产环境部署使用。 -如果你的公司有部署使用,欢迎使用通过[提交Issue](https://github.com/oldratlee/useful-scripts/issues)告知,方便互相交流反馈~ :cupid: +如果你的公司有部署使用,欢迎使用通过[提交Issue](https://github.com/oldratlee/useful-scripts/issues)告知,方便互相交流反馈~ 💘 -:beginner: 快速下载&使用 +🔰 快速下载&使用 ---------------------- ```bash @@ -28,10 +28,10 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 更多下载&使用方式,参见[下载使用](docs/install.md)。 -:books: 使用文档 +📚 使用文档 ---------------------- -### :coffee: [`Java`相关脚本](docs/java.md) +### ☕ [`Java`相关脚本](docs/java.md) 1. [show-busy-java-threads](docs/java.md#beer-show-busy-java-threads) 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 @@ -40,7 +40,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 1. [find-in-jars](docs/java.md#beer-find-in-jars) 在目录下所有`jar`文件里,查找类或资源文件。 -### :shell: [`Shell`相关脚本](docs/shell.md) +### 🐚 [`Shell`相关脚本](docs/shell.md) `Shell`使用加强: @@ -66,8 +66,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 1. [parseOpts.sh](docs/shell.md#beer-parseoptssh) 命令行选项解析库,加强支持选项有多个值(即数组)。 -### :watch: [`VCS`相关脚本](docs/vcs.md) +### ⌚ [`VCS`相关脚本](docs/vcs.md) -目前`VCS`的脚本都是`svn`分支相关的操作。使用更现代的`Git`吧! :boom: +目前`VCS`的脚本都是`svn`分支相关的操作。使用更现代的`Git`吧! 💥 因为不推荐使用`svn`,这里不再列出有哪些脚本了,如果你有兴趣可以点上面链接去看。 diff --git a/a2l b/a2l index 22edb562..01597f12 100755 --- a/a2l +++ b/a2l @@ -6,7 +6,7 @@ # $ ./a2l arg1 arg2 # $ ./a2l *.txt # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-a2l +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-a2l # @author Jerry Lee (oldratlee at gmail dot com) diff --git a/ap b/ap index 814ddc98..33ff6fba 100755 --- a/ap +++ b/ap @@ -8,7 +8,7 @@ # # print Absolute Path of arguments. # $ ./ap a.txt ../dir1/b.txt # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-ap-and-rp +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-ap-and-rp # @author Jerry Lee (oldratlee at gmail dot com) [ $# -eq 0 ] && files=(.) || files=("$@") diff --git a/c b/c index e5a7221e..f7d6d80c 100755 --- a/c +++ b/c @@ -6,7 +6,7 @@ # $ c echo "hello world!" # $ echo "hello world!" | c # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-c +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-c # @author Jerry Lee (oldratlee at gmail dot com) set -e diff --git a/coat b/coat index 39466129..0bef4a8d 100755 --- a/coat +++ b/coat @@ -7,7 +7,7 @@ # $ coat /path/to/file1 # $ coat /path/to/file1 /path/to/file2 # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-coat +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-coat # @author Jerry Lee (oldratlee at gmail dot com) set -e diff --git a/console-text-color-themes.sh b/console-text-color-themes.sh index 43f850a0..7f939e74 100755 --- a/console-text-color-themes.sh +++ b/console-text-color-themes.sh @@ -2,7 +2,7 @@ # @Function # show all console text color themes. # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-console-text-color-themessh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-console-text-color-themessh # @author Jerry Lee (oldratlee at gmail dot com) readonly _ctct_PROG="$(basename "$(readlink -f "$0")")" diff --git a/cp-svn-url.sh b/cp-svn-url.sh index 60fa2342..c8af85ed 100755 --- a/cp-svn-url.sh +++ b/cp-svn-url.sh @@ -6,7 +6,7 @@ # $ ./cp-svn-url.sh # $ ./cp-svn-url.sh /path/to/svn/work/dir # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#beer-cp-svn-urlsh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#-cp-svn-urlsh # @author ivanzhangwb (ivanzhangwb at gmail dot com) readonly PROG=`basename $0` diff --git a/docs/install.md b/docs/install.md index f8450840..53418df8 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,4 +1,4 @@ -:snail: 下载使用 +🐌 下载使用 ==================================== 下载整个工程的脚本 diff --git a/docs/java.md b/docs/java.md index c23bdabf..1de2c46b 100644 --- a/docs/java.md +++ b/docs/java.md @@ -1,15 +1,15 @@ -:snail: `Java`相关脚本 +🐌 `Java`相关脚本 ==================================== -- [:beer: show-busy-java-threads](#beer-show-busy-java-threads) +- [🍺 show-busy-java-threads](#-show-busy-java-threads) - [用法](#%E7%94%A8%E6%B3%95) - [示例](#%E7%A4%BA%E4%BE%8B) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85) -- [:beer: show-duplicate-java-classes](#beer-show-duplicate-java-classes) +- [🍺 show-duplicate-java-classes](#-show-duplicate-java-classes) - [用法](#%E7%94%A8%E6%B3%95-1) - [`JDK`开发场景使用说明](#jdk%E5%BC%80%E5%8F%91%E5%9C%BA%E6%99%AF%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E) - [对于一般的工程](#%E5%AF%B9%E4%BA%8E%E4%B8%80%E8%88%AC%E7%9A%84%E5%B7%A5%E7%A8%8B) @@ -17,7 +17,7 @@ - [`Android`开发场景使用说明](#android%E5%BC%80%E5%8F%91%E5%9C%BA%E6%99%AF%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E) - [示例](#%E7%A4%BA%E4%BE%8B-1) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-1) -- [:beer: find-in-jars](#beer-find-in-jars) +- [🍺 find-in-jars](#-find-in-jars) - [用法](#%E7%94%A8%E6%B3%95-2) - [示例](#%E7%A4%BA%E4%BE%8B-2) - [运行效果](#%E8%BF%90%E8%A1%8C%E6%95%88%E6%9E%9C) @@ -26,7 +26,7 @@ -:beer: [show-busy-java-threads](../show-busy-java-threads) +🍺 [show-busy-java-threads](../show-busy-java-threads) ---------------------- 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 @@ -185,7 +185,7 @@ $ show-busy-java-threads - 提出/实现了多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) - [xiongchen2012](https://github.com/xiongchen2012) 提出/解决了长用户名截断的Bug [#62](https://github.com/oldratlee/useful-scripts/pull/62) -:beer: [show-duplicate-java-classes](../show-duplicate-java-classes) +🍺 [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- 找出`Java Lib`(`Java`库,即`Jar`文件)或`Class`目录(类目录)中的重复类。 @@ -346,7 +346,7 @@ class paths to find: [tgic](https://github.com/tg123)提供此脚本。友情贡献者的链接 [commandlinefu.cn](http://commandlinefu.cn/) | [微博linux命令行精选](http://weibo.com/u/2674868673) -:beer: [find-in-jars](../find-in-jars) +🍺 [find-in-jars](../find-in-jars) ---------------------- 在当前目录下所有`jar`文件里,查找类或资源文件。 diff --git a/docs/shell.md b/docs/shell.md index 851223c1..632433fa 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -1,4 +1,4 @@ -:snail: `Shell`相关脚本 +🐌 `Shell`相关脚本 ==================================== @@ -6,33 +6,33 @@ - [`Shell`使用加强](#shell%E4%BD%BF%E7%94%A8%E5%8A%A0%E5%BC%BA) - - [:beer: c](#beer-c) - - [示例](#%E7%A4%BA%E4%BE%8B) + - [🍺 c](#-c) + - [用法/示例](#%E7%94%A8%E6%B3%95%E7%A4%BA%E4%BE%8B) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99) - - [:beer: coat](#beer-coat) + - [🍺 coat](#-coat) + - [示例](#%E7%A4%BA%E4%BE%8B) + - [🍺 a2l](#-a2l) - [示例](#%E7%A4%BA%E4%BE%8B-1) - - [:beer: a2l](#beer-a2l) + - [🍺 ap and rp](#-ap-and-rp) - [示例](#%E7%A4%BA%E4%BE%8B-2) - - [:beer: ap and rp](#beer-ap-and-rp) - - [示例](#%E7%A4%BA%E4%BE%8B-3) - - [:beer: tcp-connection-state-counter](#beer-tcp-connection-state-counter) + - [🍺 tcp-connection-state-counter](#-tcp-connection-state-counter) - [用法](#%E7%94%A8%E6%B3%95) - - [示例](#%E7%A4%BA%E4%BE%8B-4) + - [示例](#%E7%A4%BA%E4%BE%8B-3) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85) - - [:beer: xpl and xpf](#beer-xpl-and-xpf) + - [🍺 xpl and xpf](#-xpl-and-xpf) - [用法](#%E7%94%A8%E6%B3%95-1) - - [示例](#%E7%A4%BA%E4%BE%8B-5) + - [示例](#%E7%A4%BA%E4%BE%8B-4) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-1) - [`Shell`开发/测试加强](#shell%E5%BC%80%E5%8F%91%E6%B5%8B%E8%AF%95%E5%8A%A0%E5%BC%BA) - - [:beer: echo-args](#beer-echo-args) - - [示例](#%E7%A4%BA%E4%BE%8B-6) + - [🍺 echo-args](#-echo-args) + - [示例](#%E7%A4%BA%E4%BE%8B-5) - [使用方式](#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) - - [:beer: console-text-color-themes.sh](#beer-console-text-color-themessh) + - [🍺 console-text-color-themes.sh](#-console-text-color-themessh) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-2) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99-1) - - [:beer: parseOpts.sh](#beer-parseoptssh) + - [🍺 parseOpts.sh](#-parseoptssh) - [用法](#%E7%94%A8%E6%B3%95-2) - - [示例](#%E7%A4%BA%E4%BE%8B-7) + - [示例](#%E7%A4%BA%E4%BE%8B-6) - [兼容性](#%E5%85%BC%E5%AE%B9%E6%80%A7) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-3) @@ -41,7 +41,7 @@ `Shell`使用加强 ==================================== -:beer: [c](../c) +🍺 [c](../c) ---------------------- 原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`操作,优化命令行与其它应用之间的操作流。 @@ -102,7 +102,7 @@ Options: - [拷贝复制命令行输出放在系统剪贴板上](http://oldratlee.com/post/2012-12-23/command-output-to-clip),给出了不同系统可用命令。 - 关于文本文件最后的换行,参见[Why should text files end with a newline?](https://stackoverflow.com/questions/729692) -:beer: [coat](../coat) +🍺 [coat](../coat) ---------------------- 彩色`cat`出文件行,方便人眼区分不同的行。 @@ -110,7 +110,7 @@ Options: 命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上读流操作在实现上全部代理给`cat`命令)。 -命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ :satisfied: +命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ 😆 注:之前命名是`colines`(意思是`COLorful LINES`)。 ### 示例 @@ -165,7 +165,7 @@ or available locally via: info '(coreutils) cat invocation' 注:上面示例中,没有彩色;在控制台上运行可以看出彩色效果,如下: ![](../docs/coat.png) -:beer: [a2l](../a2l) +🍺 [a2l](../a2l) ---------------------- 按行彩色输出参数,方便人眼查看。 @@ -193,7 +193,7 @@ test-cases/self-installer.sh 注:上面示例中,没有彩色;在控制台上运行可以看出彩色效果,和上面的`coat`命令一样。 -:beer: [ap](../ap) and [rp](../rp) +🍺 [ap](../ap) and [rp](../rp) ---------------------- 批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 @@ -226,7 +226,7 @@ $ rp /home /etc/../etc /home/admin ``` -:beer: [tcp-connection-state-counter](../tcp-connection-state-counter) +🍺 [tcp-connection-state-counter](../tcp-connection-state-counter) ---------------------- 统计各个`TCP`连接状态的个数。 @@ -257,7 +257,7 @@ SYN_SENT 17 [sunuslee](https://github.com/sunuslee)改进此脚本,增加对`MacOS`的支持。 [#56](https://github.com/oldratlee/useful-scripts/pull/56) -:beer: [xpl](../xpl) and [xpf](../xpf) +🍺 [xpl](../xpl) and [xpf](../xpf) ---------------------- 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。 @@ -300,7 +300,7 @@ xpf /path/to/dir1 /path/to/foo1.txt ==================================== -:beer: [echo-args](../echo-args) +🍺 [echo-args](../echo-args) ---------------------- 在编写脚本时,常常要确认输入参数是否是期望的:参数个数,参数值(可能包含有人眼不容易发现的空格问题)。 @@ -327,7 +327,7 @@ $ ./echo-args 1 " 2 foo " "3 3" 这样可以不改其它的程序,查看到输入参数的信息。 -:beer: [console-text-color-themes.sh](../console-text-color-themes.sh) +🍺 [console-text-color-themes.sh](../console-text-color-themes.sh) ---------------------- 显示`Terminator`的全部文字彩色组合的效果及其打印方式。 @@ -358,7 +358,7 @@ colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" - [utensil](https://github.com/utensil)的[在Bash下输出彩色的文本](http://utensil.github.io/tech/2007/09/10/colorful-bash.html),这是篇很有信息量很钻研的文章! -:beer: [parseOpts.sh](../parseOpts.sh) +🍺 [parseOpts.sh](../parseOpts.sh) ---------------------- 命令行选项解析库,加强支持选项有多个值(即数组)。 @@ -445,15 +445,15 @@ parseOpts "a,a-long|b,b-long:|c,c-long+" -a -b bv -- --c-long c.sh -p pv -q qv a 1. `bash --version` `GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)` `uname -a` -`Linux foo-host 2.6.32-41-generic #94-Ubuntu SMP Fri Jul 6 18:00:34 UTC 2012 x86_64 GNU/Linux` +`Linux foo-host 2.6.32-41-generic #94-Ubuntu SMP Fri Jul 6 18:00:34 UTC 2012 x86_64 GNU/Linux` 1. `bash --version` `GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin14)` `uname -a` -`Darwin foo-host 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin` +`Darwin foo-host 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin` 1. `bash --version` `GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)` `uname -a` -`Linux foo-host 2.6.9-103.ELxenU #1 SMP Wed Mar 14 16:31:15 CST 2012 i686 i686 i386 GNU/Linux` +`Linux foo-host 2.6.9-103.ELxenU #1 SMP Wed Mar 14 16:31:15 CST 2012 i686 i686 i386 GNU/Linux` ### 贡献者 diff --git a/docs/vcs.md b/docs/vcs.md index cdf58678..68d8b76a 100644 --- a/docs/vcs.md +++ b/docs/vcs.md @@ -1,4 +1,4 @@ -:snail: `VCS`相关脚本 +🐌 `VCS`相关脚本 ==================================== > 你会发现这些脚本都是`svn`分支相关的操作。 @@ -6,21 +6,21 @@ > 个人在使用`Git`的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出`Git`的优秀)。 > 原因:`Git`的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而`svn`不得不涉及仓库的`URL`(不统一简单)。 > -> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 :stuck_out_tongue: +> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 😛 > -> 使用更现代的`Git`吧! :boom: +> 使用更现代的`Git`吧! 💥 -1. [swtrunk.sh](docs/vcs.md#beer-swtrunksh) +1. [swtrunk.sh](#-swtrunksh) 自动`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 PS: `Git`对应的是`git checkout master`,如果你使用了`oh-my-zsh`,已经有对应的别名加速了:`gcm`。 -1. [svn-merge-stop-on-copy.sh](docs/vcs.md#beer-svn-merge-stop-on-copysh) +1. [svn-merge-stop-on-copy.sh](#-svn-merge-stop-on-copysh) 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 PS:`Git`的合并很直接简单,`git merge branch-foo`,也更智能(没有树冲突一说)。 -1. [cp-svn-url.sh](docs/vcs.md#beer-cp-svn-urlsh) +1. [cp-svn-url.sh](#-cp-svn-urlsh) 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 -:beer: [swtrunk.sh](../swtrunk.sh) +🍺 [swtrunk.sh](../swtrunk.sh) ---------------------- `svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 @@ -58,7 +58,7 @@ svn work dir /path/to/svn/work/dir1 switch from http://www.foo.com/project1/bran svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/branches/feature1 to http://www.foo.com/project2/trunk ! ``` -:beer: [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) +🍺 [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) ---------------------- 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 @@ -84,7 +84,7 @@ svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://w [姜太公](https://github.com/jzwlqx)提供此脚本。 -:beer: [cp-svn-url.sh](../cp-svn-url.sh) +🍺 [cp-svn-url.sh](../cp-svn-url.sh) ---------------------- 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 diff --git a/echo-args b/echo-args index 03c1900f..7562b7c6 100755 --- a/echo-args +++ b/echo-args @@ -2,7 +2,7 @@ # @Function # print arguments in human and debugging friendly style. # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-echo-args +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-echo-args # @author Jerry Lee (oldratlee at gmail dot com) readonly ec=$'\033' # escape char diff --git a/find-in-jars b/find-in-jars index a3b4fb72..ed8089b9 100755 --- a/find-in-jars +++ b/find-in-jars @@ -8,7 +8,7 @@ # $ find-in-jars 'log4j\.properties$' -d /path/to/find/directory # $ find-in-jars 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-find-in-jars +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#-find-in-jars # @author Jerry Lee (oldratlee at gmail dot com) readonly PROG="`basename "$0"`" diff --git a/parseOpts.sh b/parseOpts.sh index 1dc07f65..eb6270aa 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -15,7 +15,7 @@ # _OPT_VALUE_c_long = (c.sh -p pv -q qv arg1) # Array type # _OPT_ARGS = (aa bb cc) # Array type # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-parseoptssh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-parseoptssh # @author Jerry Lee (oldratlee at gmail dot com) ##################################################################### diff --git a/rp b/rp index 7018578b..d4b0739d 100755 --- a/rp +++ b/rp @@ -8,7 +8,7 @@ # # if more than 1 argument, print relative path to last argument. # $ ./rp a.txt ../b.txt /etc/passwd /etc/apache2 # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-ap-and-rp +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-ap-and-rp # @author Jerry Lee (oldratlee at gmail dot com) [ $# -eq 0 ] && { diff --git a/show-busy-java-threads b/show-busy-java-threads index 4c45ff90..8f0a5153 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -5,7 +5,7 @@ # @Usage # $ ./show-busy-java-threads # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threads +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#-show-busy-java-threads # @author Jerry Lee (oldratlee at gmail dot com) # @author superhj1987 (superhj1987 at 126 dot com) diff --git a/show-duplicate-java-classes b/show-duplicate-java-classes index eeff8b8b..66c868d2 100755 --- a/show-duplicate-java-classes +++ b/show-duplicate-java-classes @@ -8,7 +8,7 @@ # $ show-duplicate-java-classes path/to/lib_dir1 /path/to/lib_dir2 # $ show-duplicate-java-classes -c path/to/class_dir1 -c /path/to/class_dir2 # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-duplicate-java-classes +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#-show-duplicate-java-classes # @author tg123 (farmer1992 at gmail dot com) # @author Jerry Lee (oldratlee at gmail dot com) diff --git a/svn-merge-stop-on-copy.sh b/svn-merge-stop-on-copy.sh index a4582ef5..4a50bf90 100755 --- a/svn-merge-stop-on-copy.sh +++ b/svn-merge-stop-on-copy.sh @@ -7,7 +7,7 @@ # $ ./svnmerge.sh [target branch] # if no target branch, merge to current svn direcotry # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#beer-svn-merge-stop-on-copysh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#-svn-merge-stop-on-copysh # @author jiangjizhong(@jzwlqx) # @author Jerry Lee (oldratlee at gmail dot com) diff --git a/swtrunk.sh b/swtrunk.sh index e1ae412e..e16f97ed 100755 --- a/swtrunk.sh +++ b/swtrunk.sh @@ -5,7 +5,7 @@ # @Usage # $ ./swtrunk.sh [...] # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#beer-swtrunksh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/vcs.md#-swtrunksh # @author Jerry Lee (oldratlee at gmail dot com) # NOTE: $'foo' is the escape sequence syntax of bash diff --git a/tcp-connection-state-counter b/tcp-connection-state-counter index 322dfabb..47855d20 100755 --- a/tcp-connection-state-counter +++ b/tcp-connection-state-counter @@ -5,7 +5,7 @@ # @Usage # $ ./tcp-connection-state-counter # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-tcp-connection-state-counter +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-tcp-connection-state-counter # @author Jerry Lee (oldratlee at gmail dot com) # @author @sunuslee (sunuslee at gmail dot com) diff --git a/xpf b/xpf index 85652989..a51e9831 100755 --- a/xpf +++ b/xpf @@ -6,7 +6,7 @@ # @Usage # $ ./xpf file # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-xpl-and-xpf +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-xpl-and-xpf # @author Jerry Lee (oldratlee at gmail dot com) BASE="$(dirname "$0")" diff --git a/xpl b/xpl index 9e703721..5f625249 100755 --- a/xpl +++ b/xpl @@ -5,7 +5,7 @@ # @Usage # $ ./xpf [file [file ...] ] # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-xpl-and-xpf +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#-xpl-and-xpf # @author Jerry Lee (oldratlee at gmail dot com) PROG=`basename $0` From 1d1257c581f141706f472a14bfb4150551a8057e Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 24 Jun 2018 23:30:57 +0800 Subject: [PATCH 120/141] clean markdown --- README.md | 44 ++++++++++++++++---------------- docs/install.md | 4 +-- docs/java.md | 16 +++++++----- docs/shell.md | 68 ++++++++++++++++++++++++++----------------------- docs/vcs.md | 17 +++++++------ 5 files changed, 79 insertions(+), 70 deletions(-) diff --git a/README.md b/README.md index d462f8e4..d7f2e8e6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -🐌 useful-scripts +🐌 useful-scripts ==================================== @@ -10,16 +10,16 @@ [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) -👉 把平时有用的手动操作做成脚本,这样可以便捷的使用。 ✨ +👉 把平时有用的手动操作做成脚本,这样可以便捷的使用。 ✨ -有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! 💖 +有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! 💖 PS: 本仓库的脚本(如`Java`相关脚本)在阿里等公司(如随身云,见[`awesome-scripts`仓库](https://github.com/Suishenyun/awesome-scripts)说明)的线上生产环境部署使用。 -如果你的公司有部署使用,欢迎使用通过[提交Issue](https://github.com/oldratlee/useful-scripts/issues)告知,方便互相交流反馈~ 💘 +如果你的公司有部署使用,欢迎使用通过[提交Issue](https://github.com/oldratlee/useful-scripts/issues)告知,方便互相交流反馈~ 💘 -🔰 快速下载&使用 +🔰 快速下载&使用 ---------------------- ```bash @@ -28,46 +28,46 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 更多下载&使用方式,参见[下载使用](docs/install.md)。 -📚 使用文档 +📚 使用文档 ---------------------- -### ☕ [`Java`相关脚本](docs/java.md) +### ☕ [`Java`相关脚本](docs/java.md) -1. [show-busy-java-threads](docs/java.md#beer-show-busy-java-threads) +1. [show-busy-java-threads](docs/java.md#-show-busy-java-threads) 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 -1. [show-duplicate-java-classes](docs/java.md#beer-show-duplicate-java-classes) +1. [show-duplicate-java-classes](docs/java.md#-show-duplicate-java-classes) 找出`jar`文件和`class`目录中的重复类。用于排查`Java`类冲突问题。 -1. [find-in-jars](docs/java.md#beer-find-in-jars) +1. [find-in-jars](docs/java.md#-find-in-jars) 在目录下所有`jar`文件里,查找类或资源文件。 -### 🐚 [`Shell`相关脚本](docs/shell.md) +### 🐚 [`Shell`相关脚本](docs/shell.md) `Shell`使用加强: -1. [c](docs/shell.md#beer-c) +1. [c](docs/shell.md#-c) 原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`操作,优化命令行与其它应用之间的操作流。 -1. [coat](docs/shell.md#beer-coat) +1. [coat](docs/shell.md#-coat) 彩色`cat`出文件行,方便人眼区分不同的行。 -1. [a2l](docs/shell.md#beer-a2l) +1. [a2l](docs/shell.md#-a2l) 按行彩色输出参数,方便人眼查看。 -1. [ap and rp](docs/shell.md#beer-ap-and-rp) +1. [ap and rp](docs/shell.md#-ap-and-rp) 批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 -1. [tcp-connection-state-counter](docs/shell.md#beer-tcp-connection-state-counter) +1. [tcp-connection-state-counter](docs/shell.md#-tcp-connection-state-counter) 统计各个`TCP`连接状态的个数。用于方便排查系统连接负荷问题。 -1. [xpl and xpf](docs/shell.md#beer-xpl-and-xpf) +1. [xpl and xpf](docs/shell.md#-xpl-and-xpf) 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。 `Shell`开发/测试加强: -1. [echo-args](docs/shell.md#beer-echo-args) +1. [echo-args](docs/shell.md#-echo-args) 输出脚本收到的参数,在控制台运行时,把参数值括起的括号显示成 **红色**,方便人眼查看。用于调试脚本参数输入。 -1. [console-text-color-themes.sh](docs/shell.md#beer-console-text-color-themessh) +1. [console-text-color-themes.sh](docs/shell.md#-console-text-color-themessh) 显示`Terminator`的全部文字彩色组合的效果及其打印方式,用于开发`Shell`的彩色输出。 -1. [parseOpts.sh](docs/shell.md#beer-parseoptssh) +1. [parseOpts.sh](docs/shell.md#-parseoptssh) 命令行选项解析库,加强支持选项有多个值(即数组)。 -### ⌚ [`VCS`相关脚本](docs/vcs.md) +### ⌚ [`VCS`相关脚本](docs/vcs.md) -目前`VCS`的脚本都是`svn`分支相关的操作。使用更现代的`Git`吧! 💥 +目前`VCS`的脚本都是`svn`分支相关的操作。使用更现代的`Git`吧! 💥 因为不推荐使用`svn`,这里不再列出有哪些脚本了,如果你有兴趣可以点上面链接去看。 diff --git a/docs/install.md b/docs/install.md index 53418df8..42bdad32 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,4 +1,4 @@ -🐌 下载使用 +🐌 下载使用 ==================================== 下载整个工程的脚本 @@ -36,7 +36,7 @@ cd useful-scripts svn up ``` -PS: +PS: 我的做法是把`useful-scripts` checkout到`$HOME/bin/useful-scripts`目录下,再把`$HOME/bin/useful-scripts`配置到`PATH`变量上,这样方便我本地使用所有的脚本。 ### 打包下载 diff --git a/docs/java.md b/docs/java.md index 1de2c46b..56ae5f30 100644 --- a/docs/java.md +++ b/docs/java.md @@ -1,4 +1,4 @@ -🐌 `Java`相关脚本 +🐌 `Java`相关脚本 ==================================== @@ -26,7 +26,9 @@ -🍺 [show-busy-java-threads](../show-busy-java-threads) + + +🍺 [show-busy-java-threads](../show-busy-java-threads) ---------------------- 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 @@ -185,7 +187,7 @@ $ show-busy-java-threads - 提出/实现了多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) - [xiongchen2012](https://github.com/xiongchen2012) 提出/解决了长用户名截断的Bug [#62](https://github.com/oldratlee/useful-scripts/pull/62) -🍺 [show-duplicate-java-classes](../show-duplicate-java-classes) +🍺 [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- 找出`Java Lib`(`Java`库,即`Jar`文件)或`Class`目录(类目录)中的重复类。 @@ -345,8 +347,10 @@ class paths to find: [tgic](https://github.com/tg123)提供此脚本。友情贡献者的链接 [commandlinefu.cn](http://commandlinefu.cn/) | [微博linux命令行精选](http://weibo.com/u/2674868673) - -🍺 [find-in-jars](../find-in-jars) + + + +🍺 [find-in-jars](../find-in-jars) ---------------------- 在当前目录下所有`jar`文件里,查找类或资源文件。 @@ -442,7 +446,7 @@ WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties 支持彩色输出,文件名中的匹配部分以`grep`的高亮方式显示。 -![](https://user-images.githubusercontent.com/1063891/33545067-9eb66072-d8a2-11e7-8a77-d815c0979e5e.gif) +![find-in-jar screenshot](https://user-images.githubusercontent.com/1063891/33545067-9eb66072-d8a2-11e7-8a77-d815c0979e5e.gif) ### 参考资料 diff --git a/docs/shell.md b/docs/shell.md index 632433fa..a2a8a76d 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -1,4 +1,4 @@ -🐌 `Shell`相关脚本 +🐌 `Shell`相关脚本 ==================================== @@ -41,7 +41,7 @@ `Shell`使用加强 ==================================== -🍺 [c](../c) +🍺 [c](../c) ---------------------- 原样命令行输出,并拷贝标准输出到系统剪贴板,省去`CTRL+C`操作,优化命令行与其它应用之间的操作流。 @@ -102,7 +102,7 @@ Options: - [拷贝复制命令行输出放在系统剪贴板上](http://oldratlee.com/post/2012-12-23/command-output-to-clip),给出了不同系统可用命令。 - 关于文本文件最后的换行,参见[Why should text files end with a newline?](https://stackoverflow.com/questions/729692) -🍺 [coat](../coat) +🍺 [coat](../coat) ---------------------- 彩色`cat`出文件行,方便人眼区分不同的行。 @@ -110,7 +110,7 @@ Options: 命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上读流操作在实现上全部代理给`cat`命令)。 -命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ 😆 +命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ 😆 注:之前命名是`colines`(意思是`COLorful LINES`)。 ### 示例 @@ -163,9 +163,9 @@ or available locally via: info '(coreutils) cat invocation' ``` 注:上面示例中,没有彩色;在控制台上运行可以看出彩色效果,如下: -![](../docs/coat.png) +![coat screenshot](../docs/coat.png) -🍺 [a2l](../a2l) +🍺 [a2l](../a2l) ---------------------- 按行彩色输出参数,方便人眼查看。 @@ -193,7 +193,7 @@ test-cases/self-installer.sh 注:上面示例中,没有彩色;在控制台上运行可以看出彩色效果,和上面的`coat`命令一样。 -🍺 [ap](../ap) and [rp](../rp) +🍺 [ap](../ap) and [rp](../rp) ---------------------- 批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 @@ -226,7 +226,9 @@ $ rp /home /etc/../etc /home/admin ``` -🍺 [tcp-connection-state-counter](../tcp-connection-state-counter) + + +🍺 [tcp-connection-state-counter](../tcp-connection-state-counter) ---------------------- 统计各个`TCP`连接状态的个数。 @@ -257,15 +259,15 @@ SYN_SENT 17 [sunuslee](https://github.com/sunuslee)改进此脚本,增加对`MacOS`的支持。 [#56](https://github.com/oldratlee/useful-scripts/pull/56) -🍺 [xpl](../xpl) and [xpf](../xpf) +🍺 [xpl](../xpl) and [xpf](../xpf) ---------------------- 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 -* `xpl`:在文件浏览器中打开指定的文件或文件夹。 +- `xpl`:在文件浏览器中打开指定的文件或文件夹。 `xpl`是`explorer`的缩写。 -* `xpf`: 在文件浏览器中打开指定的文件或文件夹,并选中。 +- `xpf`: 在文件浏览器中打开指定的文件或文件夹,并选中。 `xpf`是`explorer and select file`的缩写。 ### 用法 @@ -300,7 +302,9 @@ xpf /path/to/dir1 /path/to/foo1.txt ==================================== -🍺 [echo-args](../echo-args) + + +🍺 [echo-args](../echo-args) ---------------------- 在编写脚本时,常常要确认输入参数是否是期望的:参数个数,参数值(可能包含有人眼不容易发现的空格问题)。 @@ -322,12 +326,12 @@ $ ./echo-args 1 " 2 foo " "3 3" 需要查看某个脚本(实际上也可以是其它的可执行程序)输出参数时,可以这么做: -* 把要查看脚本重命名。 -* 建一个`echo-args`脚本的符号链接到要查看参数的脚本的位置,名字和查看脚本一样。 +- 把要查看脚本重命名。 +- 建一个`echo-args`脚本的符号链接到要查看参数的脚本的位置,名字和查看脚本一样。 这样可以不改其它的程序,查看到输入参数的信息。 -🍺 [console-text-color-themes.sh](../console-text-color-themes.sh) +🍺 [console-text-color-themes.sh](../console-text-color-themes.sh) ---------------------- 显示`Terminator`的全部文字彩色组合的效果及其打印方式。 @@ -347,7 +351,7 @@ colorEcho "0;31;40" "Hello world!" colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" ``` -`console-text-color-themes.sh`的运行效果图如下: +`console-text-color-themes.sh`的运行效果图如下: ![console-text-color-themes.sh的运行效果图](console-colorful-text.png) ### 贡献者 @@ -358,7 +362,7 @@ colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" - [utensil](https://github.com/utensil)的[在Bash下输出彩色的文本](http://utensil.github.io/tech/2007/09/10/colorful-bash.html),这是篇很有信息量很钻研的文章! -🍺 [parseOpts.sh](../parseOpts.sh) +🍺 [parseOpts.sh](../parseOpts.sh) ---------------------- 命令行选项解析库,加强支持选项有多个值(即数组)。 @@ -385,8 +389,8 @@ find file: bar.txt - `-`: 无参数的选项。即有选项则把值设置成`true`。这是 ***缺省*** 的类型。 - `:`: 有参数的选项,值只有一个。 -- `+`: 有多个参数值的选项。值列表要以`;`表示结束。 -注意,`;`是`Bash`的元字符(用于一行中多个命令分隔),所以加上转义写成`\;`(当然也可以按你的喜好写成`";"`或`';'`)。 +- `+`: 有多个参数值的选项。值列表要以`;`表示结束。 + 注意,`;`是`Bash`的元字符(用于一行中多个命令分隔),所以加上转义写成`\;`(当然也可以按你的喜好写成`";"`或`';'`)。 实际要解析的输入参数往往是你的脚本参数,这样`parseOpts`函数调用一般是: @@ -397,10 +401,10 @@ parseOpts "a,a-long|b,b-long:|c,c-long+" "$@" 通过约定的全局变量来获取选项和参数: -* 选项名为`a`,通过全局变量`_OPT_VALUE_a`来获取选项的值。 -* 选项名为`a-long`,通过全局变量`_OPT_VALUE_a_long`来获取选项的值。 -即,把选项名的`-`转`_`,再加上前缀`_OPT_VALUE_`对应的全局变量来获得选项值。 -* 除了选项剩下的参数,通过全局变量`_OPT_ARGS`来获取。 +- 选项名为`a`,通过全局变量`_OPT_VALUE_a`来获取选项的值。 +- 选项名为`a-long`,通过全局变量`_OPT_VALUE_a_long`来获取选项的值。 + 即,把选项名的`-`转`_`,再加上前缀`_OPT_VALUE_`对应的全局变量来获得选项值。 +- 除了选项剩下的参数,通过全局变量`_OPT_ARGS`来获取。 按照惯例,输入参数中如果有`--`表示之后参数中不再有选项,即之后都是参数。 @@ -443,17 +447,17 @@ parseOpts "a,a-long|b,b-long:|c,c-long+" -a -b bv -- --c-long c.sh -p pv -q qv a 这个脚本比较复杂,测试过的环境有: 1. `bash --version` -`GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)` -`uname -a` -`Linux foo-host 2.6.32-41-generic #94-Ubuntu SMP Fri Jul 6 18:00:34 UTC 2012 x86_64 GNU/Linux` + `GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)` + `uname -a` + `Linux foo-host 2.6.32-41-generic #94-Ubuntu SMP Fri Jul 6 18:00:34 UTC 2012 x86_64 GNU/Linux` 1. `bash --version` -`GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin14)` -`uname -a` -`Darwin foo-host 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin` + `GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin14)` + `uname -a` + `Darwin foo-host 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin` 1. `bash --version` -`GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)` -`uname -a` -`Linux foo-host 2.6.9-103.ELxenU #1 SMP Wed Mar 14 16:31:15 CST 2012 i686 i686 i386 GNU/Linux` + `GNU bash, version 3.00.15(1)-release (i386-redhat-linux-gnu)` + `uname -a` + `Linux foo-host 2.6.9-103.ELxenU #1 SMP Wed Mar 14 16:31:15 CST 2012 i686 i686 i386 GNU/Linux` ### 贡献者 diff --git a/docs/vcs.md b/docs/vcs.md index 68d8b76a..ff3925d8 100644 --- a/docs/vcs.md +++ b/docs/vcs.md @@ -1,4 +1,4 @@ -🐌 `VCS`相关脚本 +🐌 `VCS`相关脚本 ==================================== > 你会发现这些脚本都是`svn`分支相关的操作。 @@ -6,9 +6,9 @@ > 个人在使用`Git`的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出`Git`的优秀)。 > 原因:`Git`的概念模型一等公民支持分支,切换分支是件很简单且统一的事,而`svn`不得不涉及仓库的`URL`(不统一简单)。 > -> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 😛 +> 我已经在自己的开发机上卸载了`svn`,没有需求场景也没理由再用了。 😛 > -> 使用更现代的`Git`吧! 💥 +> 使用更现代的`Git`吧! 💥 1. [swtrunk.sh](#-swtrunksh) 自动`svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 @@ -20,7 +20,7 @@ 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 PS:`Git`分支不需要`URL`来引用,没有这个脚本的需求,直接给个分支名就好了。 -🍺 [swtrunk.sh](../swtrunk.sh) +🍺 [swtrunk.sh](../swtrunk.sh) ---------------------- `svn`工作目录从分支(`branches`)切换到主干(`trunk`)。 @@ -29,8 +29,9 @@ 命令以`svn`的标准目录命名约定来识别分支和主干。 即,分支在目录`branches`下,主干在目录`trunk`下。 示例: -- 分支: http://www.foo.com/project1/branches/feature1 -- 主干: http://www.foo.com/project1/trunk + +- 分支: +- 主干: ### 用法 @@ -58,7 +59,7 @@ svn work dir /path/to/svn/work/dir1 switch from http://www.foo.com/project1/bran svn work dir /path/to/svn/work/dir2 switch from http://www.foo.com/project2/branches/feature1 to http://www.foo.com/project2/trunk ! ``` -🍺 [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) +🍺 [svn-merge-stop-on-copy.sh](../svn-merge-stop-on-copy.sh) ---------------------- 把指定的远程分支从刚新建分支以来的修改合并到本地`svn`目录或是另一个远程分支。 @@ -84,7 +85,7 @@ svn-merge-stop-on-copy.sh http://www.foo.com/project1/branches/feature1 http://w [姜太公](https://github.com/jzwlqx)提供此脚本。 -🍺 [cp-svn-url.sh](../cp-svn-url.sh) +🍺 [cp-svn-url.sh](../cp-svn-url.sh) ---------------------- 拷贝当前`svn`目录对应的远程分支到系统的粘贴板,省去`CTRL+C`操作。 From c2b8b2b6cc631f2878a59b40bde599e8f19173b4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 25 Jun 2018 19:36:07 +0800 Subject: [PATCH 121/141] use `satisfy condition or die' pattern this pattern from perl: satisfy xxx or die Yes, `or` is the boolean operator of perl In shell, `or` is `||` if you get familiar with this pattern, it's very readable! --- find-in-jars | 112 ++++++++++++++++++++--------------------- show-busy-java-threads | 34 ++++++------- 2 files changed, 72 insertions(+), 74 deletions(-) diff --git a/find-in-jars b/find-in-jars index ed8089b9..c3342ea5 100755 --- a/find-in-jars +++ b/find-in-jars @@ -13,6 +13,52 @@ readonly PROG="`basename "$0"`" +################################################################################ +# util functions +################################################################################ + +[ -t 1 ] && readonly is_console=true || readonly is_console=false + +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end +readonly cr=$'\r' # carriage return + +redEcho() { + $is_console && echo "$ec[1;31m$@$eend" || echo "$@" +} + +die() { + redEcho "Error: $@" 1>&2 + exit 1 +} + +# Getting console width using a bash script +# https://unix.stackexchange.com/questions/299067 +$is_console && readonly columns=$(stty size | awk '{print $2}') + +printResponsiveMessage() { + $is_console || return + + local message="$*" + # http://www.linuxforums.org/forum/red-hat-fedora-linux/142825-how-truncate-string-bash-script.html + echo -n "${message:0:columns}" +} + +clearResponsiveMessage() { + $is_console || return + + # How to delete line with echo? + # https://unix.stackexchange.com/questions/26576 + # + # terminal escapes: http://ascii-table.com/ansi-escape-sequences.php + # In particular, to clear from the cursor position to the beginning of the line: + # echo -e "\033[1K" + # Or everything on the line, regardless of cursor position: + # echo -e "\033[2K" + echo -n "$ec[2K$cr" +} + usage() { local -r exit_code="$1" shift @@ -61,8 +107,6 @@ EOF declare -a args=() declare -a dirs=() -regex_mode=-E -use_absolute_path=false while [ $# -gt 0 ]; do case "$1" in -d|--dir) @@ -118,8 +162,12 @@ while [ $# -gt 0 ]; do ;; esac done + dirs=${dirs:-.} extension=${extension:-jar} +regex_mode=${regex_mode:--E} + +use_absolute_path=${use_absolute_path:-false} seperator="${seperator:-!}" [ "${#args[@]}" -eq 0 ] && usage 1 "No find file pattern!" @@ -144,7 +192,6 @@ for e in "${extension[@]}"; do find_iname_options=( "${find_iname_options[@]}" -o -iname "*.$e" ) done - ################################################################################ # Check the existence of command for listing zip entry! ################################################################################ @@ -159,70 +206,21 @@ elif which unzip &> /dev/null; then readonly command_for_list_zip='unzip -Z1' else if ! which jar &> /dev/null; then - [ -z "$JAVA_HOME" ] && { - echo "Error: jar not found on PATH!" 1>&2 - exit 1 - } - ! [ -f "$JAVA_HOME/bin/jar" ] && { - echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) file does NOT exists!" 1>&2 - exit 1 - } - ! [ -x "$JAVA_HOME/bin/jar" ] && { - echo "Error: jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) is NOT executalbe!" 1>&2 - exit 1 - } + [ -n "$JAVA_HOME" ] || die "jar not found on PATH and JAVA_HOME env var is blank!" + [ -f "$JAVA_HOME/bin/jar" ] || die "jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) file does NOT exists!" + [ -x "$JAVA_HOME/bin/jar" ] || die "jar not found on PATH and \$JAVA_HOME/bin/jar($JAVA_HOME/bin/jar) is NOT executalbe!" export PATH="$JAVA_HOME/bin:$PATH" fi - readonly command_for_list_zip='jar tf' fi -################################################################################ -# util funtions -################################################################################ - -[ -t 1 ] && readonly is_console=true || readonly is_console=false - -# Getting console width using a bash script -# https://unix.stackexchange.com/questions/299067 -$is_console && readonly columns=$(stty size | awk '{print $2}') - -readonly ec=$'\033' # escape char -readonly eend=$'\033[0m' # escape end -readonly cr=$'\r' # carriage return - -printResponsiveMessage() { - $is_console || return - - local message="$*" - # http://www.linuxforums.org/forum/red-hat-fedora-linux/142825-how-truncate-string-bash-script.html - echo -n "${message:0:columns}" -} - -clearResponsiveMessage() { - $is_console || return - - # How to delete line with echo? - # https://unix.stackexchange.com/questions/26576 - # - # terminal escapes: http://ascii-table.com/ansi-escape-sequences.php - # In particular, to clear from the cursor position to the beginning of the line: - # echo -e "\033[1K" - # Or everything on the line, regardless of cursor position: - # echo -e "\033[2K" - echo -n "$ec[2K$cr" -} - ################################################################################ # find logic ################################################################################ readonly jar_files="$(find "${dirs[@]}" "${find_iname_options[@]}" -type f)" readonly total_count="$(echo $(echo "$jar_files" | wc -l))" -[ -z "$jar_files" ] && { - echo "No jar found!" 1>&2 - exit 1 -} +[ -n "$jar_files" ] || die "No ${extension[@]} file found!" findInJarFiles() { $is_console && local -r grep_color_option='--color=always' @@ -238,7 +236,7 @@ findInJarFiles() { clearResponsiveMessage $is_console && - echo "$ec[1;31m${jar_file}${eend}${ec}[1;32m${seperator}${eend}${file}" || + echo "$ec[1;35m${jar_file}${eend}${ec}[1;32m${seperator}${eend}${file}" || echo "${jar_file}${seperator}${file}" done diff --git a/show-busy-java-threads b/show-busy-java-threads index 8f0a5153..5cdd3da2 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -67,8 +67,8 @@ normalPrint() { [ -n "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" } -fatal() { - redPrint "$@" 1>&2 +die() { + redPrint "Error: $@" 1>&2 exit 1 } @@ -127,7 +127,7 @@ EOF # Check os support ################################################################################ -uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support `uname` yet!" +uname | grep '^Linux' -q || die "$PROG only support Linux, not support `uname` yet!" ################################################################################ # parse options @@ -204,15 +204,15 @@ use_ps=${use_ps:-false} # check the directory of append-file(-a) mode, create if not exsit. if [ -n "$append_file" ]; then if [ -e "$append_file" ]; then - [ ! -f "$append_file" ] && fatal "Error: $append_file(specified by option -a, for storing run output files) exists but is not a file!" - [ ! -w "$append_file" ] && fatal "Error: file $append_file(specified by option -a, for storing run output files) exists but is not writable!" + [ -f "$append_file" ] || die "$append_file(specified by option -a, for storing run output files) exists but is not a file!" + [ -w "$append_file" ] || die "file $append_file(specified by option -a, for storing run output files) exists but is not writable!" else append_file_dir="$(dirname "$append_file")" if [ -e "$append_file_dir" ]; then - [ ! -d "$append_file_dir" ] && fatal "Error: directory $append_file_dir(specified by option -a, for storing run output files) exists but is not a directory!" - [ ! -w "$append_file_dir" ] && fatal "Error: directory $append_file_dir(specified by option -a, for storing run output files) exists but is not writable!" + [ -d "$append_file_dir" ] || die "directory $append_file_dir(specified by option -a, for storing run output files) exists but is not a directory!" + [ -w "$append_file_dir" ] || die "directory $append_file_dir(specified by option -a, for storing run output files) exists but is not writable!" else - mkdir -p "$append_file_dir" || fatal "Error: fail to create directory $append_file_dir(specified by option -a, for storing run output files)!" + mkdir -p "$append_file_dir" || die "fail to create directory $append_file_dir(specified by option -a, for storing run output files)!" fi fi fi @@ -220,10 +220,10 @@ fi # check store directory(-S) mode, create directory if not exsit. if [ -n "$store_dir" ]; then if [ -e "$store_dir" ]; then - [ ! -d "$store_dir" ] && fatal "Error: $store_dir(specified by option -S, for storing output files) exists but is not a directory!" - [ ! -w "$store_dir" ] && fatal "Error: directory $store_dir(specified by option -S, for storing output files) exists but is not writable!" + [ -d "$store_dir" ] || die "$store_dir(specified by option -S, for storing output files) exists but is not a directory!" + [ -w "$store_dir" ] || die "directory $store_dir(specified by option -S, for storing output files) exists but is not writable!" else - mkdir -p "$store_dir" || fatal "Error: fail to create directory $store_dir(specified by option -S, for storing output files)!" + mkdir -p "$store_dir" || die "fail to create directory $store_dir(specified by option -S, for storing output files)!" fi fi @@ -232,14 +232,14 @@ fi ################################################################################ if [ -n "$jstack_path" ]; then - [ -f "$jstack_path" ] || fatal "Error: $jstack_path is NOT found!" - [ -x "$jstack_path" ] || fatal "Error: $jstack_path is NOT executalbe!" + [ -f "$jstack_path" ] || die "$jstack_path is NOT found!" + [ -x "$jstack_path" ] || die "$jstack_path is NOT executalbe!" elif which jstack &> /dev/null; then jstack_path="`which jstack`" else - [ -z "$JAVA_HOME" ] && fatal "Error: jstack not found on PATH and No JAVA_HOME setting! Use -s option set jstack path manually." - [ -f "$JAVA_HOME/bin/jstack" ] || fatal "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists! Use -s option set jstack path manually." - [ -x "$JAVA_HOME/bin/jstack" ] || fatal "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." + [ -n "$JAVA_HOME" ] || die "jstack not found on PATH and No JAVA_HOME setting! Use -s option set jstack path manually." + [ -f "$JAVA_HOME/bin/jstack" ] || die "jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists! Use -s option set jstack path manually." + [ -x "$JAVA_HOME/bin/jstack" ] || die "jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." jstack_path="$JAVA_HOME/bin/jstack" fi @@ -460,4 +460,4 @@ main() { done } -main \ No newline at end of file +main From b3907ecca5948c11a7e86b1a187dce646023e131 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 25 Jun 2018 21:29:38 +0800 Subject: [PATCH 122/141] improve find-in-jars - check dirs - use arithmetic operation --- find-in-jars | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/find-in-jars b/find-in-jars index c3342ea5..ded38e25 100755 --- a/find-in-jars +++ b/find-in-jars @@ -107,7 +107,7 @@ EOF declare -a args=() declare -a dirs=() -while [ $# -gt 0 ]; do +while (( $# > 0 )); do case "$1" in -d|--dir) dirs=("${dirs[@]}" "$2") @@ -170,24 +170,24 @@ regex_mode=${regex_mode:--E} use_absolute_path=${use_absolute_path:-false} seperator="${seperator:-!}" -[ "${#args[@]}" -eq 0 ] && usage 1 "No find file pattern!" -[ "${#args[@]}" -gt 1 ] && usage 1 "More than 1 file pattern!" +(( "${#args[@]}" == 0 )) && usage 1 "No find file pattern!" +(( "${#args[@]}" > 1 )) && usage 1 "More than 1 file pattern: ${args[@]}" readonly pattern="${args[0]}" -# convert dirs to Absolute Path. -$use_absolute_path && { - declare -a tmp_dirs=() - - for d in "${dirs[@]}"; do - tmp_dirs=( "${tmp_dirs[@]}" "$(cd "$d" && pwd)" ) - done - - dirs=( "${tmp_dirs[@]}" ) -} +declare -a tmp_dirs=() +for d in "${dirs[@]}"; do + [ -e "$d" ] || die "file $d(specified by option -d) does not exist!" + [ -d "$d" ] || die "file $d(specified by option -d) exists but is not a directory!" + [ -r "$d" ] || die "directory $d(specified by option -d) exists but is not readable!" + # convert dirs to Absolute Path + $use_absolute_path && tmp_dirs=( "${tmp_dirs[@]}" "$(cd "$d" && pwd)" ) +done +# set dirs to Absolute Path +$use_absolute_path && dirs=( "${tmp_dirs[@]}" ) -# convert to find -iname options +# convert extensions to find -iname options for e in "${extension[@]}"; do - [ 0 -eq "${#find_iname_options[@]}" ] && + (( "${#find_iname_options[@]}" == 0 )) && find_iname_options=( -iname "*.$e" ) || find_iname_options=( "${find_iname_options[@]}" -o -iname "*.$e" ) done From b4d8bd1ec0510028c6584b04c42e7462b50f2a51 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 25 Jun 2018 21:42:39 +0800 Subject: [PATCH 123/141] improve show-busy-java-threads: check before write file --- show-busy-java-threads | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 5cdd3da2..4fa28390 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -37,12 +37,14 @@ colorPrint() { shift colorEcho "$color" "$@" - # use "{} &> /dev/null" to discard bash error message: - # line 42: xxx.log: Permission denied - { - [ -n "$append_file" ] && echo "$@" >> "$append_file" - [ -n "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" - } &> /dev/null + [ -n "$append_file" -a -w "$append_file" ] && echo "$@" >> "$append_file" + [ -n "$store_dir" -a -w "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" +} + +normalPrint() { + echo "$@" + [ -n "$append_file" -a -w "$append_file" ] && echo "$@" >> "$append_file" + [ -n "$store_dir" -a -w "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" } redPrint() { @@ -61,12 +63,6 @@ bluePrint() { colorPrint 36 "$@" } -normalPrint() { - echo "$@" - [ -n "$append_file" ] && echo "$@" >> "$append_file" - [ -n "$store_dir" ] && echo "$@" >> "${store_file_prefix}$PROG" -} - die() { redPrint "Error: $@" 1>&2 exit 1 From 9ac11d81cd4b283bef0079161198766dde2792ae Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 25 Jun 2018 22:05:01 +0800 Subject: [PATCH 124/141] extract util functions: logAndRun, logAndCat --- show-busy-java-threads | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 4fa28390..b231b4f5 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -68,6 +68,18 @@ die() { exit 1 } +logAndRun() { + echo "$@" + echo + "$@" +} + +logAndCat() { + echo "$@" + echo + cat +} + usage() { local -r exit_code="$1" shift @@ -281,11 +293,7 @@ findBusyJavaThreadsByPs() { local -a ps_cmd_line=(ps $ps_process_select_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers) local -r ps_out="$("${ps_cmd_line[@]}")" if [ -n "$store_dir" ]; then - { - echo "${ps_cmd_line[@]}" - echo - echo "$ps_out" - } > "${store_file_prefix}$(( i + 1 ))_ps" + echo "$ps_out" | logAndCat "${ps_cmd_line[@]}" > "${store_file_prefix}$(( i + 1 ))_ps" fi echo "$ps_out" | head -n "${count}" @@ -310,11 +318,7 @@ __top_threadId_cpu() { local -a top_cmd_line=(top -H -b -d $top_delay -n 2) local -r top_out=$(HOME="$tmp_store_dir" "${top_cmd_line[@]}") if [ -n "$store_dir" ]; then - { - echo "${top_cmd_line[@]}" - echo - echo "$top_out" - } > "${store_file_prefix}$(( i + 1 ))_top" + echo "$top_out" | logAndCat "${top_cmd_line[@]}" > "${store_file_prefix}$(( i + 1 ))_top" fi echo "$top_out" | @@ -336,11 +340,7 @@ __complete_pid_user_by_ps() { local -a ps_cmd_line=(ps $ps_process_select_options -wwLo pid,lwp,user --no-headers) local -r ps_out="$("${ps_cmd_line[@]}")" if [ -n "$store_dir" ]; then - { - echo "${ps_cmd_line[@]}" - echo - echo "$ps_out" - } > "${store_file_prefix}$(( i + 1 ))_ps" + echo "$ps_out" | logAndCat "${ps_cmd_line[@]}" > "${store_file_prefix}$(( i + 1 ))_ps" fi local idx=0 @@ -384,18 +384,10 @@ printStackOfThreads() { local -a jstack_cmd_line=( "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} ) if [ "${user}" == "${USER}" ]; then # run without sudo, when java process user is current user - { - echo "${jstack_cmd_line[@]}" - echo - "${jstack_cmd_line[@]}" - } > ${jstackFile} + logAndRun "${jstack_cmd_line[@]}" > ${jstackFile} elif [ $UID == 0 ]; then # if java process user is not current user, must run jstack with sudo - { - echo sudo -u "${user}" "${jstack_cmd_line[@]}" - echo - sudo -u "${user}" "${jstack_cmd_line[@]}" - } > ${jstackFile} + logAndRun sudo -u "${user}" "${jstack_cmd_line[@]}" > ${jstackFile} else # current user is not root user, so can not run with sudo; print error message and rerun suggestion redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." From b0a1d6ec821100ea92429f6e6c2790febee5c2c4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 4 Dec 2018 12:40:06 +0800 Subject: [PATCH 125/141] add recomendation for Arthas in README --- docs/java.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/java.md b/docs/java.md index 56ae5f30..455a478c 100644 --- a/docs/java.md +++ b/docs/java.md @@ -25,6 +25,25 @@ +------------------------------- + +关于`Java`排错与诊断,力荐️`Arthas` ❤️ + +- [alibaba/arthas: Alibaba Java诊断利器 - github.com](https://github.com/alibaba/arthas) +- `Arthas`用户文档 https://alibaba.github.io/arthas/ + +`Arthas`功能异常(😜)强劲,且在阿里巴巴线上支持使用多年。我自己也常用,一定要看看用用! + +因为`Arthas`是通过`Agent`方式来连接运行的`Java`进程、主要通过交互式来完成功能,与之对应的脚本方式也有脚本方式的好处,如: + +1. 可以在进程不能启动的情况下完成诊断(如依赖中的重复类分析、`ClassPath`上的资源或类查找) +1. 开销少;简单少依赖(就纯文本的一个脚本文件) +1. 方便与(已有的)工具(如`awk`、`sed`、`cron`)、流程或设施集成,进一步编程/自动化 + +请按需按场景选用。 + +------------------------------- + From 6c364f02912f8c26905cb07fce92c707394aef0d Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 4 Dec 2018 13:05:18 +0800 Subject: [PATCH 126/141] improve help of show-busy-java-threads --- docs/java.md | 8 ++++---- show-busy-java-threads | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/java.md b/docs/java.md index 455a478c..79423411 100644 --- a/docs/java.md +++ b/docs/java.md @@ -118,8 +118,8 @@ Example: show-busy-java-threads 3 10 # update every 3 seconds, update 10 times Output control: - -p, --pid find out the highest cpu consumed threads from the specified java process, - default from all java process. + -p, --pid find out the highest cpu consumed threads from + the specified java process, default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. -S, --store-dir specifies the directory for storing intermediate files, and keep files. @@ -142,8 +142,8 @@ cpu usage calculation control: more info see top -d option. eg: -d 1 (1 second). -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as - the percentage of time spent running during the entire lifetime of a process, - this is not ideal. + the percentage of time spent running during the *entire lifetime* + of a process, this is not ideal in general. Miscellaneous: -h, --help display this help and exit. diff --git a/show-busy-java-threads b/show-busy-java-threads index b231b4f5..39e50364 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -97,8 +97,8 @@ Example: ${PROG} 3 10 # update every 3 seconds, update 10 times Output control: - -p, --pid find out the highest cpu consumed threads from the specified java process, - default from all java process. + -p, --pid find out the highest cpu consumed threads from + the specified java process, default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. -S, --store-dir specifies the directory for storing intermediate files, and keep files. @@ -121,8 +121,8 @@ cpu usage calculation control: more info see top -d option. eg: -d 1 (1 second). -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as - the percentage of time spent running during the entire lifetime of a process, - this is not ideal. + the percentage of time spent running during the *entire lifetime* + of a process, this is not ideal in general. Miscellaneous: -h, --help display this help and exit. From b1320855f5349b62e4a51f1c34682ea5f7b9c597 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 7 Dec 2018 16:14:15 +0800 Subject: [PATCH 127/141] reorder color, avoid first line is red --- a2l | 2 +- coat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/a2l b/a2l index 01597f12..8ecbd5d9 100755 --- a/a2l +++ b/a2l @@ -22,7 +22,7 @@ colorEcho() { [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" } -readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) +readonly -a ECHO_COLORS=(33 35 36 31 32 37 34) COUNT=0 for a; do diff --git a/coat b/coat index 0bef4a8d..8e3361fe 100755 --- a/coat +++ b/coat @@ -21,7 +21,7 @@ set -o pipefail readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end -readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) +readonly -a ECHO_COLORS=(33 35 36 31 32 37 34) COUNT=0 colorEcho() { local color="${ECHO_COLORS[COUNT++ % ${#ECHO_COLORS[@]}]}" From f3cacc9600fb16bc5163118b9f189e167f6c19e4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 3 Jan 2019 13:01:03 +0800 Subject: [PATCH 128/141] improve doc java.md --- docs/java.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/java.md b/docs/java.md index 79423411..2ffb4fdd 100644 --- a/docs/java.md +++ b/docs/java.md @@ -55,14 +55,15 @@ PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的[《分布式Java应用》](https://book.douban.com/subject/4848587/)的【5.1.1 `CPU`消耗分析】一节,说得很详细: -1. `top`命令找出有问题`Java`进程及线程`id`: +1. `top`命令找出消耗`CPU`高的`Java`进程及其线程`id`: 1. 开启线程显示模式(`top -H`,或是打开`top`后按`H`) 1. 按`CPU`使用率排序(`top`缺省是按`CPU`使用降序,已经合要求;打开`top`后按`P`可以显式指定按`CPU`使用降序) 1. 记下`Java`进程`id`及其`CPU`高的线程`id` -1. 用进程`id`作为参数,`jstack`有问题的`Java`进程 -1. 手动转换线程`id`成十六进制(可以用`printf %x 1234`) -1. 查找十六进制的线程`id`(可以用`vim`的查找功能`/0x1234`,或是`grep 0x1234 -A 20`) -1. 查看对应的线程栈,以分析问题 +1. 查看消耗`CPU`高的线程栈: + 1. 用进程`id`作为参数,`jstack`出有问题的`Java`进程 + 1. 手动转换线程`id`成十六进制(可以用`printf %x 1234`) + 1. 在`jstack`输出中查找十六进制的线程`id`(可以用`vim`的查找功能`/0x1234`,或是`grep 0x1234 -A 20`) +1. 查看对应的线程栈,分析问题 查问题时,会要多次上面的操作以分析确定问题,这个过程**太繁琐太慢了**。 @@ -204,7 +205,12 @@ $ show-busy-java-threads - 优化性能,通过`read -a`简化反复的`awk`操作。 [#51](https://github.com/oldratlee/useful-scripts/pull/51) - [superhj1987](https://github.com/superhj1987) / [lirenzuo](https://github.com/lirenzuo) - 提出/实现了多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) -- [xiongchen2012](https://github.com/xiongchen2012) 提出/解决了长用户名截断的Bug [#62](https://github.com/oldratlee/useful-scripts/pull/62) +- [xiongchen2012](https://github.com/xiongchen2012) 提出并解决了长用户名截断的Bug [#62](https://github.com/oldratlee/useful-scripts/pull/62) +- [qsLI](https://github.com/qsLI) / [sdslnmd](https://github.com/sdslnmd) + - 发现并提交Issue:show-busy-java-threads支持top来获取cpu占用率,ps的cpu占用率非实时 [#67](https://github.com/oldratlee/useful-scripts/issues/67) +- [geekMessi](https://github.com/geekMessi) + - 发现并提交Issue:在`top v3.2`下提取不正确的Bug [#71](https://github.com/oldratlee/useful-scripts/issues/71) + - 发现并提交Issue:support command name jsvc to find java process [#72](https://github.com/oldratlee/useful-scripts/issues/72) 🍺 [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- From 7c6547007ce3610038f8f65d29b4831111c0d6a2 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 15 Jan 2019 15:20:38 +0800 Subject: [PATCH 129/141] fix typo --- docs/java.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java.md b/docs/java.md index 2ffb4fdd..8d0fc4d7 100644 --- a/docs/java.md +++ b/docs/java.md @@ -85,7 +85,7 @@ show-busy-java-threads <重复执行的间隔秒数> [<重复执行的次数>] show-busy-java-threads -a <运行输出的记录到的文件> # 记录到文件以方便回溯查看 -show-duplicate-java-classes -S <存储jstack输出文件的目录> +show-busy-java-threads -S <存储jstack输出文件的目录> # 指定jstack输出文件的存储目录,方便记录以后续分析 ############################## From 8b9cf08e917736a1b1527bc9ce1cf69e87202355 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 23 Jan 2019 16:09:41 +0800 Subject: [PATCH 130/141] improve regex --- show-busy-java-threads | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 39e50364..994eeea9 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -416,7 +416,7 @@ printStackOfThreads() { /^$/d; p # delete end seperator line }" else - local sed_script="/nid=${threadId0x} /,/^$/ { + local sed_script="/ nid=${threadId0x} /,/^$/ { /^$/d; p # delete end seperator line }" fi From 32e3a41fcfd11137e84915eac83ee3ebbad366ca Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 23 Jan 2019 16:09:56 +0800 Subject: [PATCH 131/141] improve format of markdown --- docs/shell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/shell.md b/docs/shell.md index a2a8a76d..9fb14085 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -110,7 +110,7 @@ Options: 命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上读流操作在实现上全部代理给`cat`命令)。 -命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ 😆 +命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ 😆 注:之前命名是`colines`(意思是`COLorful LINES`)。 ### 示例 From eadae0c47813a9382c3ed814d29af587cb0fb9f5 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 Jan 2019 12:46:22 +0800 Subject: [PATCH 132/141] improve doc --- docs/java.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java.md b/docs/java.md index 8d0fc4d7..988e6a97 100644 --- a/docs/java.md +++ b/docs/java.md @@ -74,7 +74,7 @@ show-busy-java-threads # 从所有运行的Java进程中找出最消耗CPU的线程(缺省5个),打印出其线程栈 # 缺省会自动从所有的Java进程中找出最消耗CPU的线程,这样用更方便 -# 当然你可以手动指定要分析的Java进程Id,以保证只会显示出那个你关心的那个Java进程的信息 +# 当然你可以手动指定要分析的Java进程Id,以保证只会显示你关心的那个Java进程的信息 show-busy-java-threads -p <指定的Java进程Id> show-busy-java-threads -c <要显示的线程栈数> From 9ff0436d1608b44e4709a8eee75c7a14d95e0626 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 Jan 2019 13:44:29 +0800 Subject: [PATCH 133/141] improve docs of find-in-jars --- docs/java.md | 6 +++--- find-in-jars | 12 +++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/java.md b/docs/java.md index 988e6a97..fff6d95a 100644 --- a/docs/java.md +++ b/docs/java.md @@ -419,9 +419,9 @@ Example: find-in-jars 'log4j\.properties' find-in-jars '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root find-in-jars 'log4j\.properties$' -d /path/to/find/directory - find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d path/to/find/dir2 - find-in-jars 'log4j\.properties' -e jar -e zip - find-in-jars 'log4j\.properties' -s ' <-> ' + find-in-jars '\.properties$' -d /path/to/find/dir1 -d path/to/find/dir2 + find-in-jars 'Service\.class$' -e jar -e zip + find-in-jars 'Mon[^$/]*Service\.class$' -s ' <-> ' Find control: -d, --dir the directory that find jar files, default is current directory. diff --git a/find-in-jars b/find-in-jars index ded38e25..e4344f1e 100755 --- a/find-in-jars +++ b/find-in-jars @@ -4,9 +4,11 @@ # # @Usage # $ find-in-jars 'log4j\.properties' -# $ find-in-jars '^log4j(\.properties|\.xml)$' +# $ find-in-jars '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root # $ find-in-jars 'log4j\.properties$' -d /path/to/find/directory -# $ find-in-jars 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 +# $ find-in-jars '\.properties$' -d /path/to/find/dir1 -d path/to/find/dir2 +# $ find-in-jars 'Service\.class$' -e jar -e zip +# $ find-in-jars 'Mon[^$/]*Service\.class$' -s ' <-> ' # # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#-find-in-jars # @author Jerry Lee (oldratlee at gmail dot com) @@ -75,9 +77,9 @@ Example: ${PROG} 'log4j\.properties' ${PROG} '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root ${PROG} 'log4j\.properties$' -d /path/to/find/directory - ${PROG} 'log4j\.properties' -d /path/to/find/dir1 -d path/to/find/dir2 - ${PROG} 'log4j\.properties' -e jar -e zip - ${PROG} 'log4j\.properties' -s ' <-> ' + ${PROG} '\.properties$' -d /path/to/find/dir1 -d path/to/find/dir2 + ${PROG} 'Service\.class$' -e jar -e zip + ${PROG} 'Mon[^$/]*Service\.class$' -s ' <-> ' Find control: -d, --dir the directory that find jar files, default is current directory. From 77792008c4c333b48437d178cfbce368d59bfa90 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 Jan 2019 14:04:32 +0800 Subject: [PATCH 134/141] improve docs of coat --- coat | 2 +- docs/shell.md | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/coat b/coat index 8e3361fe..ef3f06d8 100755 --- a/coat +++ b/coat @@ -3,7 +3,7 @@ # cat lines colorfully. coat means *CO*lorful c*AT*. # # @Usage -# $ echo -n 'Hello\nWorld' | coat +# $ echo -e 'Hello\nWorld' | coat # $ coat /path/to/file1 # $ coat /path/to/file1 /path/to/file2 # diff --git a/docs/shell.md b/docs/shell.md index 9fb14085..7f7d1817 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -116,14 +116,14 @@ Options: ### 示例 ```bash -$ echo a | coat -a -$ echo -e 'a\nb' | coat -a -b -$ echo -e 'a\nb' | nl | coat -1 a -2 b +$ echo Hello world | coat +Hello world +$ echo -e 'Hello\nWorld' | coat +Hello +World +$ echo -e 'Hello\nWorld' | nl | coat + 1 Hello + 2 World $ coat file1 file2.txt line1 of file1 line2 of file1 From bd4ed888631118f2fd25c02be26e950dd6b168fb Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 Jan 2019 14:36:00 +0800 Subject: [PATCH 135/141] compress png files --- docs/coat.png | Bin 187385 -> 29390 bytes docs/console-colorful-text.png | Bin 230815 -> 146419 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/coat.png b/docs/coat.png index eee5f1ef92f106d1fd3399712310cceff0885c8e..781cea0bbb736b8442d54272465ea122aa7b37e5 100644 GIT binary patch literal 29390 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

pZRjNt$lc;86GK@PYn@C+R$Eysg~)1bIh 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

B(6qO}R%1nBv4wWwXon76L4CZXI*d^q; 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 z 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�TN?BDoWPW8m$PsP6^ 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 diff --git a/docs/console-colorful-text.png b/docs/console-colorful-text.png index 1a314ec5bbf046232dbf8f92291677e9d602098b..a3accacd34f6a6470f088c4e84236e932e1ff8bd 100644 GIT binary patch literal 146419 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

K8K8aB?5^^`n8Oxup@h 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 Kyh_v{;Qs<#D(n^j literal 230815 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%0D1-2DreG6y}jA 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

j}Q69D{K{zIOoPuwM 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 From fe85d86e8adb595de9dbfa26f3093754591e1490 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 11 Feb 2019 22:24:08 +0800 Subject: [PATCH 136/141] improve docs --- docs/shell.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/shell.md b/docs/shell.md index 7f7d1817..30286314 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -28,11 +28,14 @@ - [示例](#%E7%A4%BA%E4%BE%8B-5) - [使用方式](#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) - [🍺 console-text-color-themes.sh](#-console-text-color-themessh) + - [用法](#%E7%94%A8%E6%B3%95-2) + - [示例](#%E7%A4%BA%E4%BE%8B-6) + - [运行效果](#%E8%BF%90%E8%A1%8C%E6%95%88%E6%9E%9C) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-2) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99-1) - [🍺 parseOpts.sh](#-parseoptssh) - - [用法](#%E7%94%A8%E6%B3%95-2) - - [示例](#%E7%A4%BA%E4%BE%8B-6) + - [用法](#%E7%94%A8%E6%B3%95-3) + - [示例](#%E7%A4%BA%E4%BE%8B-7) - [兼容性](#%E5%85%BC%E5%AE%B9%E6%80%A7) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-3) @@ -56,7 +59,9 @@ 有3种使用风格,根据需要或是你的偏好选取。 ```bash +############################################################ # 1. 前缀方式,后面跟上要运行的命令 +############################################################ $ c pwd /Users/jerry $ c echo -e 'a\nb' @@ -64,19 +69,25 @@ a b # 这种使用方式,后面跟的命令不能是别名(alias),对于别名可以用下面的使用方式。 +############################################################ # 2. 后缀方式,管道 +############################################################ $ echo -e 'a\nb' | nl | c 1 a 2 b # gb是oh-my-zsh的别名,列出git的分支,需要后缀的方式的使用。 $ gb | c +############################################################ # 3. 从标准输入读取内容。拷贝文件内容时这种方式最直接。 +############################################################ $ c < ~/.ssh/id_rsa.pub ssh-rsa EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com +############################################################ # -q选项:拷贝但不输出。 # 当输出内容比较多、又不关心输出内容和命令执行进展时,可以使用这个选项。 +############################################################ $ c -q < ~/.ssh/id_rsa.pub # 帮助信息 @@ -337,21 +348,28 @@ $ ./echo-args 1 " 2 foo " "3 3" 显示`Terminator`的全部文字彩色组合的效果及其打印方式。 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 -脚本中,也给出了`colorEcho`和`colorEchoWithoutNewLine`函数更方便输出彩色文本,用法: +脚本中,也给出了`colorEcho`和`colorEchoWithoutNewLine`函数更方便输出彩色文本 + +### 用法 ```bash colorEcho <颜色样式> <要输出的文本>... colorEchoWithoutNewLine <颜色样式> <要输出的文本>... ``` +### 示例 + ```bash +source console-text-color-themes.sh + # 输出红色文本 colorEcho "0;31;40" "Hello world!" # 输出黄色带下划线的文本 colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" ``` -`console-text-color-themes.sh`的运行效果图如下: +### 运行效果 + ![console-text-color-themes.sh的运行效果图](console-colorful-text.png) ### 贡献者 From 9d287c4f1643523364f11321d3e19fae0469a15a Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 28 Feb 2019 19:32:38 +0800 Subject: [PATCH 137/141] extract functon --- xpl | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/xpl b/xpl index 5f625249..adafa351 100755 --- a/xpl +++ b/xpl @@ -30,6 +30,10 @@ EOF # if program name is xpf, set option selected! [ "xpf" == "${PROG}" ] && selected=true +################################################################################ +# parse options +################################################################################ + declare -a args=() while [ $# -gt 0 ]; do case "$1" in @@ -55,9 +59,13 @@ while [ $# -gt 0 ]; do esac done -[ "${#args[@]}" == 0 ] && files=( "." ) || files=( "${args[@]}" ) -for file in "${files[@]}" ; do - [ ! -e "$file" ] && { echo "$file not exsited!"; continue; } +################################################################################ +# biz options +################################################################################ + +# open one file +openOneFile() { + local file="$1" case "$(uname)" in Darwin*) @@ -80,5 +88,12 @@ for file in "${files[@]}" ; do fi ;; esac +} + +[ "${#args[@]}" == 0 ] && files=( . ) || files=( "${args[@]}" ) +for file in "${files[@]}" ; do + [ ! -e "$file" ] && { echo "$file not exsited!"; continue; } + + openOneFile "$file" echo "$file opened${selected:+ with selection}!" done From 73dfbfc9d9ff43b1f49509cb001e6c5b31a16907 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 8 Mar 2019 19:10:11 +0800 Subject: [PATCH 138/141] update doc --- docs/java.md | 4 ++-- show-busy-java-threads | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/java.md b/docs/java.md index fff6d95a..a869b5bd 100644 --- a/docs/java.md +++ b/docs/java.md @@ -34,7 +34,7 @@ `Arthas`功能异常(😜)强劲,且在阿里巴巴线上支持使用多年。我自己也常用,一定要看看用用! -因为`Arthas`是通过`Agent`方式来连接运行的`Java`进程、主要通过交互式来完成功能,与之对应的脚本方式也有脚本方式的好处,如: +`Arthas`是通过`Agent`方式来连接运行的`Java`进程、主要通过交互式来完成功能,与之对应的脚本方式也有其优势,如: 1. 可以在进程不能启动的情况下完成诊断(如依赖中的重复类分析、`ClassPath`上的资源或类查找) 1. 开销少;简单少依赖(就纯文本的一个脚本文件) @@ -137,7 +137,7 @@ jstack control: -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). -l, --lock-info set jstack with long listing. Prints additional information about locks. -cpu usage calculation control: +CPU usage calculation control: -d, --top-delay specifies the delay between top samples, default is 0.5 (second). get thread cpu percentage during this delay interval. more info see top -d option. eg: -d 1 (1 second). diff --git a/show-busy-java-threads b/show-busy-java-threads index 994eeea9..2c3ab353 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -115,7 +115,7 @@ jstack control: -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). -l, --lock-info set jstack with long listing. Prints additional information about locks. -cpu usage calculation control: +CPU usage calculation control: -d, --top-delay specifies the delay between top samples, default is 0.5 (second). get thread cpu percentage during this delay interval. more info see top -d option. eg: -d 1 (1 second). From 9a727ba298ff75a12636dd999478f4f0f5918fa2 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 5 May 2019 15:42:36 +0800 Subject: [PATCH 139/141] improve help message: one line contains less 80 chars --- docs/java.md | 58 ++++++++++++++++++++++++++---------------- find-in-jars | 23 ++++++++++------- show-busy-java-threads | 42 ++++++++++++++++++------------ 3 files changed, 76 insertions(+), 47 deletions(-) diff --git a/docs/java.md b/docs/java.md index a869b5bd..cd998330 100644 --- a/docs/java.md +++ b/docs/java.md @@ -111,7 +111,8 @@ show-busy-java-threads -l # 帮助信息 $ show-busy-java-threads -h Usage: show-busy-java-threads [OPTION]... [delay [count]] -Find out the highest cpu consumed threads of java, and print the stack of these threads. +Find out the highest cpu consumed threads of java processes, +and print the stack of these threads. Example: show-busy-java-threads # show busy java threads info @@ -120,30 +121,39 @@ Example: Output control: -p, --pid find out the highest cpu consumed threads from - the specified java process, default from all java process. + the specified java process. + default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -S, --store-dir

specifies the directory for storing intermediate files, and keep files. - default store intermediate files at tmp dir, and auto remove after run. - use this option to keep files so as to review jstack/top/ps output later. + -S, --store-dir specifies the directory for storing + the intermediate files, and keep files. + default store intermediate files at tmp dir, + and auto remove after run. use this option to keep + files so as to review jstack/top/ps output later. delay the delay between updates in seconds. count the number of updates. - delay/count arguments imitates the style of vmstat command. + delay/count arguments imitates the style of + vmstat command. jstack control: -s, --jstack-path specifies the path of jstack command. - -F, --force set jstack to force a thread dump. - use when jstack does not respond (process is hung). - -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). - -l, --lock-info set jstack with long listing. Prints additional information about locks. + -F, --force set jstack to force a thread dump. use when jstack + does not respond (process is hung). + -m, --mix-native-frames set jstack to print both java and native frames + (mixed mode). + -l, --lock-info set jstack with long listing. + prints additional information about locks. CPU usage calculation control: - -d, --top-delay specifies the delay between top samples, default is 0.5 (second). - get thread cpu percentage during this delay interval. + -d, --top-delay specifies the delay between top samples. + default is 0.5 (second). get thread cpu percentage + during this delay interval. more info see top -d option. eg: -d 1 (1 second). - -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, - default use top command, because cpu usage of ps command is expressed as - the percentage of time spent running during the *entire lifetime* + -P, --use-ps use ps command to find busy thread(cpu usage) + instead of top command. + default use top command, because cpu usage of + ps command is expressed as the percentage of + time spent running during the *entire lifetime* of a process, this is not ideal in general. Miscellaneous: @@ -412,22 +422,25 @@ find-in-jars 'log4j\.properties' -s ' ' | awk '{print $2}' # 帮助信息 $ find-in-jars -h Usage: find-in-jars [OPTION]... PATTERN -Find file in the jar files under specified directory(recursive, include subdirectory). +Find files in the jar files under specified directory, +search jar files recursively(include subdirectory). The pattern default is *extended* regex. Example: find-in-jars 'log4j\.properties' - find-in-jars '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root + # search file log4j.properties/log4j.xml at zip root + find-in-jars '^log4j\.(properties|xml)$' find-in-jars 'log4j\.properties$' -d /path/to/find/directory find-in-jars '\.properties$' -d /path/to/find/dir1 -d path/to/find/dir2 find-in-jars 'Service\.class$' -e jar -e zip find-in-jars 'Mon[^$/]*Service\.class$' -s ' <-> ' Find control: - -d, --dir the directory that find jar files, default is current directory. - this option can specify multiply times to find in multiply directories. - -e, --extension set find file extension, default is jar. - this option can specify multiply times to find in multiply extension. + -d, --dir the directory that find jar files. + default is current directory. this option can specify + multiply times to find in multiply directories. + -e, --extension set find file extension, default is jar. this option + can specify multiply times to find multiply extension. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression @@ -436,7 +449,8 @@ Find control: Output control: -a, --absolute-path always print absolute path of jar file - -s, --seperator seperator for jar file and file entry, default is `!'. + -s, --seperator specify the seperator between jar file and zip entry. + default is `!'. Miscellaneous: -h, --help display this help and exit diff --git a/find-in-jars b/find-in-jars index e4344f1e..27d1986a 100755 --- a/find-in-jars +++ b/find-in-jars @@ -1,10 +1,11 @@ #!/bin/bash # @Function -# Find file in the jar files under current directory +# Find files in the jar files under specified directory, search jar files recursively(include subdirectory). # # @Usage # $ find-in-jars 'log4j\.properties' -# $ find-in-jars '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root +# # search file log4j.properties/log4j.xml at zip root +# $ find-in-jars '^log4j\.(properties|xml)$' # $ find-in-jars 'log4j\.properties$' -d /path/to/find/directory # $ find-in-jars '\.properties$' -d /path/to/find/dir1 -d path/to/find/dir2 # $ find-in-jars 'Service\.class$' -e jar -e zip @@ -70,22 +71,25 @@ usage() { > $out cat < ' Find control: - -d, --dir the directory that find jar files, default is current directory. - this option can specify multiply times to find in multiply directories. - -e, --extension set find file extension, default is jar. - this option can specify multiply times to find in multiply extension. + -d, --dir the directory that find jar files. + default is current directory. this option can specify + multiply times to find in multiply directories. + -e, --extension set find file extension, default is jar. this option + can specify multiply times to find multiply extension. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression @@ -94,7 +98,8 @@ Find control: Output control: -a, --absolute-path always print absolute path of jar file - -s, --seperator seperator for jar file and file entry, default is \`!'. + -s, --seperator specify the seperator between jar file and zip entry. + default is \`!'. Miscellaneous: -h, --help display this help and exit diff --git a/show-busy-java-threads b/show-busy-java-threads index 2c3ab353..a957e184 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -1,6 +1,6 @@ #!/bin/bash # @Function -# Find out the highest cpu consumed threads of java, and print the stack of these threads. +# Find out the highest cpu consumed threads of java processes, and print the stack of these threads. # # @Usage # $ ./show-busy-java-threads @@ -89,7 +89,8 @@ usage() { > $out cat < find out the highest cpu consumed threads from - the specified java process, default from all java process. + the specified java process. + default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -S, --store-dir specifies the directory for storing intermediate files, and keep files. - default store intermediate files at tmp dir, and auto remove after run. - use this option to keep files so as to review jstack/top/ps output later. + -S, --store-dir specifies the directory for storing + the intermediate files, and keep files. + default store intermediate files at tmp dir, + and auto remove after run. use this option to keep + files so as to review jstack/top/ps output later. delay the delay between updates in seconds. count the number of updates. - delay/count arguments imitates the style of vmstat command. + delay/count arguments imitates the style of + vmstat command. jstack control: -s, --jstack-path specifies the path of jstack command. - -F, --force set jstack to force a thread dump. - use when jstack does not respond (process is hung). - -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). - -l, --lock-info set jstack with long listing. Prints additional information about locks. + -F, --force set jstack to force a thread dump. use when jstack + does not respond (process is hung). + -m, --mix-native-frames set jstack to print both java and native frames + (mixed mode). + -l, --lock-info set jstack with long listing. + prints additional information about locks. CPU usage calculation control: - -d, --top-delay specifies the delay between top samples, default is 0.5 (second). - get thread cpu percentage during this delay interval. + -d, --top-delay specifies the delay between top samples. + default is 0.5 (second). get thread cpu percentage + during this delay interval. more info see top -d option. eg: -d 1 (1 second). - -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, - default use top command, because cpu usage of ps command is expressed as - the percentage of time spent running during the *entire lifetime* + -P, --use-ps use ps command to find busy thread(cpu usage) + instead of top command. + default use top command, because cpu usage of + ps command is expressed as the percentage of + time spent running during the *entire lifetime* of a process, this is not ideal in general. Miscellaneous: From 62ac01f24672de630dd081988302bb0c41645b3b Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 5 May 2019 15:50:09 +0800 Subject: [PATCH 140/141] fix typo: seperator -> seperator --- docs/java.md | 2 +- find-in-jars | 13 +++++++------ show-busy-java-threads | 8 ++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/java.md b/docs/java.md index cd998330..41faf9d0 100644 --- a/docs/java.md +++ b/docs/java.md @@ -449,7 +449,7 @@ Find control: Output control: -a, --absolute-path always print absolute path of jar file - -s, --seperator specify the seperator between jar file and zip entry. + -s, --separator specify the separator between jar file and zip entry. default is `!'. Miscellaneous: diff --git a/find-in-jars b/find-in-jars index 27d1986a..0571a804 100755 --- a/find-in-jars +++ b/find-in-jars @@ -98,7 +98,7 @@ Find control: Output control: -a, --absolute-path always print absolute path of jar file - -s, --seperator specify the seperator between jar file and zip entry. + -s, --separator specify the separator between jar file and zip entry. default is \`!'. Miscellaneous: @@ -124,8 +124,9 @@ while (( $# > 0 )); do extension=("${extension[@]}" "$2") shift 2 ;; - -s|--seperator) - seperator="$2" + # support the typo option --seperator for compatibility + -s|--separator|--seperator) + separator="$2" shift 2 ;; -E|--extended-regexp) @@ -175,7 +176,7 @@ extension=${extension:-jar} regex_mode=${regex_mode:--E} use_absolute_path=${use_absolute_path:-false} -seperator="${seperator:-!}" +separator="${separator:-!}" (( "${#args[@]}" == 0 )) && usage 1 "No find file pattern!" (( "${#args[@]}" > 1 )) && usage 1 "More than 1 file pattern: ${args[@]}" @@ -243,8 +244,8 @@ findInJarFiles() { clearResponsiveMessage $is_console && - echo "$ec[1;35m${jar_file}${eend}${ec}[1;32m${seperator}${eend}${file}" || - echo "${jar_file}${seperator}${file}" + echo "$ec[1;35m${jar_file}${eend}${ec}[1;32m${separator}${eend}${file}" || + echo "${jar_file}${separator}${file}" done clearResponsiveMessage diff --git a/show-busy-java-threads b/show-busy-java-threads index a957e184..02e91520 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -417,17 +417,17 @@ printStackOfThreads() { if [ -n "$mix_native_frames" ]; then local sed_script="/--------------- $threadId ---------------/,/^---------------/ { - /--------------- $threadId ---------------/b # skip first seperator line - /^---------------/d # delete second seperator line + /--------------- $threadId ---------------/b # skip first separator line + /^---------------/d # delete second separator line p }" elif [ -n "$force" ]; then local sed_script="/^Thread ${threadId}:/,/^$/ { - /^$/d; p # delete end seperator line + /^$/d; p # delete end separator line }" else local sed_script="/ nid=${threadId0x} /,/^$/ { - /^$/d; p # delete end seperator line + /^$/d; p # delete end separator line }" fi { From c0e3b75babd8ebe3555ffa532a36c853995a410f Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 3 May 2021 18:07:53 +0800 Subject: [PATCH 141/141] ! add new version announcement --- README.md | 5 +++-- docs/install.md | 6 ++++++ docs/java.md | 24 ++++++++++++++++++++++++ docs/shell.md | 6 ++++++ docs/vcs.md | 6 ++++++ test-cases/shunit2-lib | 1 + 6 files changed, 46 insertions(+), 2 deletions(-) create mode 160000 test-cases/shunit2-lib diff --git a/README.md b/README.md index d7f2e8e6..8ebb5811 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,14 @@ [![GitHub stars](https://img.shields.io/github/stars/oldratlee/useful-scripts.svg?style=social&label=Star&)](https://github.com/oldratlee/useful-scripts/stargazers) [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts)。 👉 把平时有用的手动操作做成脚本,这样可以便捷的使用。 ✨ 有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! 💖 -PS: - 本仓库的脚本(如`Java`相关脚本)在阿里等公司(如随身云,见[`awesome-scripts`仓库](https://github.com/Suishenyun/awesome-scripts)说明)的线上生产环境部署使用。 如果你的公司有部署使用,欢迎使用通过[提交Issue](https://github.com/oldratlee/useful-scripts/issues)告知,方便互相交流反馈~ 💘 diff --git a/docs/install.md b/docs/install.md index 42bdad32..d4e2bfa5 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,6 +1,12 @@ 🐌 下载使用 ==================================== +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/install.md)。 + +---------------------- + 下载整个工程的脚本 ------------------- diff --git a/docs/java.md b/docs/java.md index 41faf9d0..4754444f 100644 --- a/docs/java.md +++ b/docs/java.md @@ -1,6 +1,12 @@ 🐌 `Java`相关脚本 ==================================== +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/java.md)。 + +---------------------- + @@ -50,6 +56,12 @@ 🍺 [show-busy-java-threads](../show-busy-java-threads) ---------------------- +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/java.md#-show-busy-java-threads)。 + +---------------------- + 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 目前只支持`Linux`。原因是`Mac`、`Windows`的`ps`命令不支持列出进程的线程`id`,更多信息参见[#33](https://github.com/oldratlee/useful-scripts/issues/33),欢迎提供解法。 @@ -225,6 +237,12 @@ $ show-busy-java-threads 🍺 [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/java.md#-show-duplicate-java-classes)。 + +---------------------- + 找出`Java Lib`(`Java`库,即`Jar`文件)或`Class`目录(类目录)中的重复类。 全系统支持(`Python`实现,安装`Python`即可),如`Linux`、`Mac`、`Windows`。 @@ -388,6 +406,12 @@ class paths to find: 🍺 [find-in-jars](../find-in-jars) ---------------------- +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/java.md#-find-in-jars)。 + +---------------------- + 在当前目录下所有`jar`文件里,查找类或资源文件。 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 diff --git a/docs/shell.md b/docs/shell.md index 30286314..3cd19f5a 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -1,6 +1,12 @@ 🐌 `Shell`相关脚本 ==================================== +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/shell.md)。 + +---------------------- + diff --git a/docs/vcs.md b/docs/vcs.md index ff3925d8..178d26ef 100644 --- a/docs/vcs.md +++ b/docs/vcs.md @@ -1,6 +1,12 @@ 🐌 `VCS`相关脚本 ==================================== +> ❗️ `master`是 不再开发的老版本`1.x`的分支 ❗️ +> +> 请切到 [新版本的开发分支](https://github.com/oldratlee/useful-scripts/blob/dev-2.x/docs/vcs.md)。 + +---------------------- + > 你会发现这些脚本都是`svn`分支相关的操作。 > > 个人在使用`Git`的过程中(7年+),并没有发现有对应脚本的需求(侧面反映出`Git`的优秀)。 diff --git a/test-cases/shunit2-lib b/test-cases/shunit2-lib new file mode 160000 index 00000000..ebc4baa0 --- /dev/null +++ b/test-cases/shunit2-lib @@ -0,0 +1 @@ +Subproject commit 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 literal 0 HcmV?d00001 diff --git a/docs/shell.md b/docs/shell.md index 5e32c058..374f311a 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -9,7 +9,7 @@ - [:beer: c](#beer-c) - [示例](#%E7%A4%BA%E4%BE%8B) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99) - - [:beer: colines](#beer-colines) + - [:beer: coat](#beer-coat) - [示例](#%E7%A4%BA%E4%BE%8B-1) - [:beer: a2l](#beer-a2l) - [示例](#%E7%A4%BA%E4%BE%8B-2) @@ -80,36 +80,67 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com [拷贝复制命令行输出放在系统剪贴板上](http://oldratlee.com/post/2012-12-23/command-output-to-clip),给出了不同系统可用命令。 -:beer: [colines](../colines) +:beer: [coat](../coat) ---------------------- -彩色`cat`出文件行,方便人眼区分不同的行。 -支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 -命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上在实现上全部代码给`cat`命令)。 +彩色`cat`出文件行,方便人眼区分不同的行。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 + +命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上读流操作在实现上全部代理给`cat`命令)。 -命令名`colines`意思是`COLorful LINES`。 +命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ :satisfied: ### 示例 ```bash -$ echo a | colines +$ echo a | coat a -$ echo -e 'a\nb' | colines +$ echo -e 'a\nb' | coat a b -$ echo -e 'a\nb' | nl | colines +$ echo -e 'a\nb' | nl | coat 1 a 2 b -$ colines file1 file2.txt +$ coat file1 file2.txt line1 of file1 line2 of file1 ... line1 of file2 line2 of file2 ... + +# 帮助信息 +# 可以看到本人机器上实现代理的`cat`命令是GNU的实现。 +$ coat --help +Usage: cat [OPTION]... [FILE]... +Concatenate FILE(s) to standard output. + +With no FILE, or when FILE is -, read standard input. + + -A, --show-all equivalent to -vET + -b, --number-nonblank number nonempty output lines, overrides -n + -e equivalent to -vE + -E, --show-ends display $ at end of each line + -n, --number number all output lines + -s, --squeeze-blank suppress repeated empty output lines + -t equivalent to -vT + -T, --show-tabs display TAB characters as ^I + -u (ignored) + -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB + --help display this help and exit + --version output version information and exit + +Examples: + cat f - g Output f's contents, then standard input, then g's contents. + cat Copy standard input to standard output. + +GNU coreutils online help: +Full documentation at: +or available locally via: info '(coreutils) cat invocation' ``` -注:上面显示中,没有彩色,在控制台上运行可以看出彩色效果。 +注:上面示例中,没有彩色;在控制台上运行可以看出彩色效果,如下: +![](../docs/coat.png) :beer: [a2l](../a2l) ---------------------- From dc0e796fc51ab8325491e48f6b07c63e9bfcf557 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 23 Oct 2017 19:48:18 +0800 Subject: [PATCH 050/141] add colines link to coat for compatibility --- colines | 1 + docs/java.md | 4 ++-- docs/shell.md | 14 ++++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) create mode 120000 colines diff --git a/colines b/colines new file mode 120000 index 00000000..98505f2e --- /dev/null +++ b/colines @@ -0,0 +1 @@ +coat \ No newline at end of file diff --git a/docs/java.md b/docs/java.md index ca5b7b51..bd967c29 100644 --- a/docs/java.md +++ b/docs/java.md @@ -147,8 +147,8 @@ $ show-busy-java-threads.sh - `DateFormat.format`比较慢。(这个可以由`DateFormat.format`的实现确定。) 多执行几次`show-busy-java-threads.sh`,如果上面情况高概率出现,则可以确定上面的判定。 -\# 因为调用越少代码执行越快,则出现在线程栈的概率就越低。 -\# 脚本有自动多次执行的功能,指定 重复执行的间隔秒数/重复执行的次数 参数。 +因为调用越少代码执行越快,则出现在线程栈的概率就越低。 +脚本有自动多次执行的功能,指定 重复执行的间隔秒数/重复执行的次数 参数。 分析`shared.monitor.schedule.AppMonitorDataAvgScheduler.run`实现逻辑和调用方式,以优化实现解决问题。 diff --git a/docs/shell.md b/docs/shell.md index 374f311a..5d60bf97 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -88,7 +88,8 @@ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com 命令支持选项、功能和使用方式与[`cat`命令](https://linux.die.net/man/1/cat)完全一样(实际上读流操作在实现上全部代理给`cat`命令)。 -命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ :satisfied: +命令名`coat`意思是`COlorful cAT`;当然单词`coat`的意思是外套,彩色输入行就像件漂亮的外套~ :satisfied: +注:之前命名是`colines`(意思是`COLorful LINES`)。 ### 示例 @@ -168,7 +169,7 @@ test-cases/self-installer.sh ... ``` -注:上面显示中,没有彩色,在控制台上运行可以看出彩色效果。 +注:上面示例中,没有彩色;在控制台上运行可以看出彩色效果,和上面的`coat`命令一样。 :beer: [ap](../ap) and [rp](../rp) ---------------------- @@ -240,9 +241,9 @@ SYN_SENT 17 支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 * `xpl`:在文件浏览器中打开指定的文件或文件夹。 -\# `xpl`是`explorer`的缩写。 + `xpl`是`explorer`的缩写。 * `xpf`: 在文件浏览器中打开指定的文件或文件夹,并选中。 -\# `xpf`是`explorer and select file`的缩写。 + `xpf`是`explorer and select file`的缩写。 ### 用法 @@ -337,8 +338,9 @@ colorEchoWithoutNewLine "4;33;40" "Hello world!" "Hello Hell!" ---------------------- 命令行选项解析库,加强支持选项有多个值(即数组)。 -支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 -\# 自己写一个命令行选项解析函数,是因为[`bash`](http://linux.die.net/man/1/bash)的`buildin`命令[`getopts`](http://linux.die.net/man/1/getopts)和加强版本命令[`getopt`](http://linux.die.net/man/1/getopt)都不支持数组的值。 +支持`Linux`、`Mac`、`Windows`(`cygwin`、`MSSYS`)。 + +自己写一个命令行选项解析函数,是因为[`bash`](http://linux.die.net/man/1/bash)的`buildin`命令[`getopts`](http://linux.die.net/man/1/getopts)和加强版本命令[`getopt`](http://linux.die.net/man/1/getopt)都不支持数组的值。 指定选项的多个值(即数组)的风格模仿[`find`](http://linux.die.net/man/1/find)命令的`-exec`选项: From 3ea34a7d11f31304cd406800048ea2a530af4a2d Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 24 Oct 2017 00:35:16 +0800 Subject: [PATCH 051/141] clean code, remove unnecessary arithmetic parenthesis --- a2l | 2 +- coat | 2 +- rp | 4 ++-- show-duplicate-java-classes | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/a2l b/a2l index c859bc3f..22edb562 100755 --- a/a2l +++ b/a2l @@ -26,5 +26,5 @@ readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) COUNT=0 for a; do - colorEcho "${ECHO_COLORS[$((COUNT++ % ${#ECHO_COLORS[@]}))]}" "$a" + colorEcho "${ECHO_COLORS[COUNT++ % ${#ECHO_COLORS[@]}]}" "$a" done diff --git a/coat b/coat index 4b18b6d9..162f4d20 100755 --- a/coat +++ b/coat @@ -20,7 +20,7 @@ readonly eend=$'\033[0m' # escape end readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) COUNT=0 colorEcho() { - local color="${ECHO_COLORS[$((COUNT++ % ${#ECHO_COLORS[@]}))]}" + local color="${ECHO_COLORS[COUNT++ % ${#ECHO_COLORS[@]}]}" # check isatty in bash https://stackoverflow.com/questions/10022323 # if stdout is console, turn on color output. [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" diff --git a/rp b/rp index 506bc4df..7018578b 100755 --- a/rp +++ b/rp @@ -24,8 +24,8 @@ argc=$# # Get last argument - relativeTo="${argv[$((argc - 1))]}" - files=( "${argv[@]:0:$((argc - 1))}" ) + relativeTo="${argv[argc - 1]}" + files=( "${argv[@]:0:argc - 1}" ) } [ -f "$relativeTo" ] && relativeTo="$(dirname "$relativeTo")" diff --git a/show-duplicate-java-classes b/show-duplicate-java-classes index e17ff3ef..eeff8b8b 100755 --- a/show-duplicate-java-classes +++ b/show-duplicate-java-classes @@ -72,7 +72,7 @@ def print_class_paths(class_paths): print("class paths to find:") print("=" * 80) for idx, class_path in enumerate(class_paths): - print(("%-3d: %s" % (idx + 1, class_path))) + print("%-3d: %s" % (idx + 1, class_path)) if __name__ == '__main__': From 064d2fc72034551891c8b57acf67fd57e5bbc1dc Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 24 Oct 2017 01:39:12 +0800 Subject: [PATCH 052/141] remove sh file name suffix for shell script #61 --- README.md | 8 +-- docs/install.md | 10 +-- docs/java.md | 70 +++++++++---------- docs/shell.md | 20 +++--- echo-args.sh => echo-args | 4 +- find-in-jars.sh => find-in-jars | 10 +-- ...-java-threads.sh => show-busy-java-threads | 4 +- ...counter.sh => tcp-connection-state-counter | 4 +- 8 files changed, 65 insertions(+), 65 deletions(-) rename echo-args.sh => echo-args (85%) rename find-in-jars.sh => find-in-jars (94%) rename show-busy-java-threads.sh => show-busy-java-threads (98%) rename tcp-connection-state-counter.sh => tcp-connection-state-counter (83%) diff --git a/README.md b/README.md index 7e8251b8..ead32cb0 100644 --- a/README.md +++ b/README.md @@ -32,11 +32,11 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m ### :coffee: [`Java`相关脚本](docs/java.md) -1. [show-busy-java-threads.sh](docs/java.md#beer-show-busy-java-threadssh) +1. [show-busy-java-threads](docs/java.md#beer-show-busy-java-threads) 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 1. [show-duplicate-java-classes](docs/java.md#beer-show-duplicate-java-classes) 找出`jar`文件和`class`目录中的重复类。用于排查`Java`类冲突问题。 -1. [find-in-jars.sh](docs/java.md#beer-find-in-jarssh) +1. [find-in-jars](docs/java.md#beer-find-in-jars) 在目录下所有`jar`文件里,查找类或资源文件。 ### :shell: [`Shell`相关脚本](docs/shell.md) @@ -51,14 +51,14 @@ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/m 按行彩色输出参数,方便人眼查看。 1. [ap and rp](docs/shell.md#beer-ap-and-rp) 批量转换文件路径为绝对路径/相对路径,会自动跟踪链接并规范化路径。 -1. [tcp-connection-state-counter.sh](docs/shell.md#beer-tcp-connection-state-countersh) +1. [tcp-connection-state-counter](docs/shell.md#beer-tcp-connection-state-counter) 统计各个`TCP`连接状态的个数。用于方便排查系统连接负荷问题。 1. [xpl and xpf](docs/shell.md#beer-xpl-and-xpf) 在命令行中快速完成 在文件浏览器中 打开/选中 指定的文件或文件夹的操作,优化命令行与其它应用之间的操作流。 `Shell`开发/测试加强: -1. [echo-args.sh](docs/shell.md#beer-echo-argssh) +1. [echo-args](docs/shell.md#beer-echo-args) 输出脚本收到的参数,在控制台运行时,把参数值括起的括号显示成 **红色**,方便人眼查看。用于调试脚本参数输入。 1. [console-text-color-themes.sh](docs/shell.md#beer-console-text-color-themessh) 显示`Terminator`的全部文字彩色组合的效果及其打印方式,用于开发`Shell`的彩色输出。 diff --git a/docs/install.md b/docs/install.md index 78d404a9..f8450840 100644 --- a/docs/install.md +++ b/docs/install.md @@ -52,19 +52,19 @@ unzip release.zip 下载和运行单个文件 ------------------- -以[`show-busy-java-threads.sh`](https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads.sh)为例。 +以[`show-busy-java-threads`](https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads)为例。 ### `curl`文件直接用`bash`运行 ```bash -curl -sLk 'https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads.sh' | bash +curl -sLk 'https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads' | bash ``` ### 下载单个文件 ```bash -wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads.sh -chmod +x show-busy-java-threads.sh +wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads +chmod +x show-busy-java-threads -./show-busy-java-threads.sh +./show-busy-java-threads ``` diff --git a/docs/java.md b/docs/java.md index bd967c29..0bc883a7 100644 --- a/docs/java.md +++ b/docs/java.md @@ -5,7 +5,7 @@ -- [:beer: show-busy-java-threads.sh](#beer-show-busy-java-threadssh) +- [:beer: show-busy-java-threads](#beer-show-busy-java-threads) - [用法](#%E7%94%A8%E6%B3%95) - [示例](#%E7%A4%BA%E4%BE%8B) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85) @@ -17,14 +17,14 @@ - [`Android`开发场景使用说明](#android%E5%BC%80%E5%8F%91%E5%9C%BA%E6%99%AF%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E) - [示例](#%E7%A4%BA%E4%BE%8B-1) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-1) -- [:beer: find-in-jars.sh](#beer-find-in-jarssh) +- [:beer: find-in-jars](#beer-find-in-jars) - [用法](#%E7%94%A8%E6%B3%95-2) - [示例](#%E7%A4%BA%E4%BE%8B-2) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99) -:beer: [show-busy-java-threads.sh](../show-busy-java-threads.sh) +:beer: [show-busy-java-threads](../show-busy-java-threads) ---------------------- 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 @@ -46,19 +46,19 @@ PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布 ### 用法 ```bash -show-busy-java-threads.sh +show-busy-java-threads # 从所有运行的Java进程中找出最消耗CPU的线程(缺省5个),打印出其线程栈 # 缺省会自动从所有的Java进程中找出最消耗CPU的线程,这样用更方便 # 当然你可以手动指定要分析的Java进程Id,以保证只会显示出那个你关心的Java进程的信息 -show-busy-java-threads.sh -p <指定的Java进程Id> +show-busy-java-threads -p <指定的Java进程Id> -show-busy-java-threads.sh -c <要显示的线程栈数> +show-busy-java-threads -c <要显示的线程栈数> -show-busy-java-threads.sh <重复执行的间隔秒数> [<重复执行的次数>] +show-busy-java-threads <重复执行的间隔秒数> [<重复执行的次数>] # 多次执行;这2个参数的使用方式类似vmstat命令 -show-busy-java-threads.sh -a <输出记录到的文件> +show-busy-java-threads -a <输出记录到的文件> # 记录到文件以方便回溯查看 ############################## @@ -66,30 +66,30 @@ show-busy-java-threads.sh -a <输出记录到的文件> ############################## # 如果Java进程的用户 与 执行脚本的当前用户 不同,则jstack不了这个Java进程 # 为了能切换到Java进程的用户,需要加sudo来执行,即可以解决: -sudo show-busy-java-threads.sh +sudo show-busy-java-threads -show-busy-java-threads.sh -s <指定jstack命令的全路径> +show-busy-java-threads -s <指定jstack命令的全路径> # 对于sudo方式的运行,JAVA_HOME环境变量不能传递给root, # 而root用户往往没有配置JAVA_HOME且不方便配置, # 显式指定jstack命令的路径就反而显得更方便了 # -m选项:执行jstack命令时加上-m选项,显示上Native的栈帧,一般应用排查不需要使用 -show-busy-java-threads.sh -m +show-busy-java-threads -m # -F选项:执行jstack命令时加上 -F 选项(如果直接jstack无响应时,用于强制jstack),一般情况不需要使用 -show-busy-java-threads.sh -F +show-busy-java-threads -F # -l选项:执行jstack命令时加上 -l 选项,显示上更多相关锁的信息,一般情况不需要使用 # 注意:和 -m -F 选项一起使用时,可能会大大增加jstack操作的耗时 -show-busy-java-threads.sh -l +show-busy-java-threads -l # 帮助信息 -$ show-busy-java-threads.sh -h -Usage: show-busy-java-threads.sh [OPTION]... [delay [count]] +$ show-busy-java-threads -h +Usage: show-busy-java-threads [OPTION]... [delay [count]] Find out the highest cpu consumed threads of java, and print the stack of these threads. Example: - show-busy-java-threads.sh # show busy java threads info - show-busy-java-threads.sh 1 # update every 1 seconds, (stop by eg: CTRL+C) - show-busy-java-threads.sh 3 10 # update every 3 seconds, update 10 times + show-busy-java-threads # show busy java threads info + show-busy-java-threads 1 # update every 1 seconds, (stop by eg: CTRL+C) + show-busy-java-threads 3 10 # update every 3 seconds, update 10 times Options: -p, --pid find out the highest cpu consumed threads from the specifed java process, @@ -110,7 +110,7 @@ Options: ### 示例 ```bash -$ show-busy-java-threads.sh +$ show-busy-java-threads [1] Busy(57.0%) thread(23355/0x5b3b) stack of java process(23269) under user(admin): "pool-1-thread-1" prio=10 tid=0x000000005b5c5000 nid=0x5b3b runnable [0x000000004062c000] java.lang.Thread.State: RUNNABLE @@ -146,7 +146,7 @@ $ show-busy-java-threads.sh - `AppMonitorDataAvgScheduler.run`调用`DateFormat.format`次数比较频繁。 - `DateFormat.format`比较慢。(这个可以由`DateFormat.format`的实现确定。) -多执行几次`show-busy-java-threads.sh`,如果上面情况高概率出现,则可以确定上面的判定。 +多执行几次`show-busy-java-threads`,如果上面情况高概率出现,则可以确定上面的判定。 因为调用越少代码执行越快,则出现在线程栈的概率就越低。 脚本有自动多次执行的功能,指定 重复执行的间隔秒数/重复执行的次数 参数。 @@ -321,7 +321,7 @@ class paths to find: [tgic](https://github.com/tg123)提供此脚本。友情贡献者的链接[commandlinefu.cn](http://commandlinefu.cn/)|[微博linux命令行精选](http://weibo.com/u/2674868673) -:beer: [find-in-jars.sh](../find-in-jars.sh) +:beer: [find-in-jars](../find-in-jars) ---------------------- 在当前目录下所有`jar`文件里,查找类或资源文件。 @@ -331,27 +331,27 @@ class paths to find: ```bash # 在当前目录下所有`jar`文件里,查找类或资源文件。 -find-in-jars.sh 'log4j\.properties' -find-in-jars.sh 'log4j\.xml$' -find-in-jars.sh log4j\\.xml$ # 和上面命令一样,Shell转义的不同写法而已 -find-in-jars.sh 'log4j(\.properties|\.xml)$' +find-in-jars 'log4j\.properties' +find-in-jars 'log4j\.xml$' +find-in-jars log4j\\.xml$ # 和上面命令一样,Shell转义的不同写法而已 +find-in-jars 'log4j(\.properties|\.xml)$' # -d选项 指定 查找目录(覆盖缺省的当前目录) -find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory +find-in-jars 'log4j\.properties$' -d /path/to/find/directory # 支持多个查找目录 -find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 +find-in-jars 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 # 帮助信息 -$ find-in-jars.sh -h -Usage: find-in-jars.sh [OPTION]... PATTERN +$ find-in-jars -h +Usage: find-in-jars [OPTION]... PATTERN Find file in the jar files under specified directory(recursive, include subdirectory). The pattern default is *extended* regex. Example: - find-in-jars.sh 'log4j\.properties' - find-in-jars.sh '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root - find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory - find-in-jars.sh 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + find-in-jars 'log4j\.properties' + find-in-jars '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root + find-in-jars 'log4j\.properties$' -d /path/to/find/directory + find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 Options: -d, --dir the directory that find jar files, default is current directory. @@ -369,7 +369,7 @@ Options: ```bash # 在当前目录下的所有Jar文件中,查找出 log4j.properties文件 -$ find-in-jars.sh 'log4j\.properties$' +$ find-in-jars 'log4j\.properties$' ./hadoop-core-0.20.2-cdh3u3.jar!log4j.properties # 查找出 以Service结尾的类 @@ -379,7 +379,7 @@ $ ./find-in-jars 'Service.class$' ...... # 在指定的多个目录的Jar文件中,查找出 properties文件 -$ find-in-jars.sh '\.properties$' -d ../WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' +$ find-in-jars '\.properties$' -d ../WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' ../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/ajc/messages.properties ../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/internal/compiler/parser/readableNames.properties ../WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties diff --git a/docs/shell.md b/docs/shell.md index 5d60bf97..ab1ecb9c 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -15,7 +15,7 @@ - [示例](#%E7%A4%BA%E4%BE%8B-2) - [:beer: ap and rp](#beer-ap-and-rp) - [示例](#%E7%A4%BA%E4%BE%8B-3) - - [:beer: tcp-connection-state-counter.sh](#beer-tcp-connection-state-countersh) + - [:beer: tcp-connection-state-counter](#beer-tcp-connection-state-counter) - [用法](#%E7%94%A8%E6%B3%95) - [示例](#%E7%A4%BA%E4%BE%8B-4) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85) @@ -24,7 +24,7 @@ - [示例](#%E7%A4%BA%E4%BE%8B-5) - [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85-1) - [`Shell`开发/测试加强](#shell%E5%BC%80%E5%8F%91%E6%B5%8B%E8%AF%95%E5%8A%A0%E5%BC%BA) - - [:beer: echo-args.sh](#beer-echo-argssh) + - [:beer: echo-args](#beer-echo-args) - [示例](#%E7%A4%BA%E4%BE%8B-6) - [使用方式](#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F) - [:beer: console-text-color-themes.sh](#beer-console-text-color-themessh) @@ -162,8 +162,8 @@ B.java # zsh支持 **/* 跨目录glob,可以方便搜索,但是输出内容是空格分隔的不方便查看。 # 把参数按行输出方便查看 或是 grep $ a2l **/*.sh +console-text-color-themes.sh swtrunk.sh -tcp-connection-state-counter.sh test-cases/parseOpts-test.sh test-cases/self-installer.sh ... @@ -203,7 +203,7 @@ $ rp /home /etc/../etc /home/admin ../../etc ``` -:beer: [tcp-connection-state-counter.sh](../tcp-connection-state-counter.sh) +:beer: [tcp-connection-state-counter](../tcp-connection-state-counter) ---------------------- 统计各个`TCP`连接状态的个数。 @@ -218,13 +218,13 @@ $ rp /home /etc/../etc /home/admin ### 用法 ```bash -tcp-connection-state-counter.sh +tcp-connection-state-counter ``` ### 示例 ```bash -$ tcp-connection-state-counter.sh +$ tcp-connection-state-counter ESTABLISHED 290 TIME_WAIT 212 SYN_SENT 17 @@ -276,7 +276,7 @@ xpf /path/to/dir1 /path/to/foo1.txt `Shell`开发/测试加强 ==================================== -:beer: [echo-args.sh](../echo-args.sh) +:beer: [echo-args](../echo-args) ---------------------- 在编写脚本时,常常要确认输入参数是否是期望的:参数个数,参数值(可能包含有人眼不容易发现的空格问题)。 @@ -287,8 +287,8 @@ xpf /path/to/dir1 /path/to/foo1.txt ### 示例 ```bash -$ ./echo-args.sh 1 " 2 foo " "3 3" -0/3: [./echo-args.sh] +$ ./echo-args 1 " 2 foo " "3 3" +0/3: [./echo-args] 1/3: [1] 2/3: [ 2 foo ] 3/3: [3 3] @@ -299,7 +299,7 @@ $ ./echo-args.sh 1 " 2 foo " "3 3" 需要查看某个脚本(实际上也可以是其它的可执行程序)输出参数时,可以这么做: * 把要查看脚本重命名。 -* 建一个`echo-args.sh`脚本的符号链接到要查看参数的脚本的位置,名字和查看脚本一样。 +* 建一个`echo-args`脚本的符号链接到要查看参数的脚本的位置,名字和查看脚本一样。 这样可以不改其它的程序,查看到输入参数的信息。 diff --git a/echo-args.sh b/echo-args similarity index 85% rename from echo-args.sh rename to echo-args index 1010de0d..b02fcab2 100755 --- a/echo-args.sh +++ b/echo-args @@ -1,8 +1,8 @@ #!/bin/bash # @Function -# print arguments in human and debug friendly style. +# print arguments in human and debugging friendly style. # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-echo-argssh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-echo-args # @author Jerry Lee (oldratlee at gmail dot com) readonly ebegin=$'\033[1;31m' # escape begin, red color diff --git a/find-in-jars.sh b/find-in-jars similarity index 94% rename from find-in-jars.sh rename to find-in-jars index ef79e46b..11b64994 100755 --- a/find-in-jars.sh +++ b/find-in-jars @@ -3,12 +3,12 @@ # Find file in the jar files under current directory # # @Usage -# $ find-in-jars.sh 'log4j\.properties' -# $ find-in-jars.sh '^log4j(\.properties|\.xml)$' -# $ find-in-jars.sh 'log4j\.properties$' -d /path/to/find/directory -# $ find-in-jars.sh 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 +# $ find-in-jars 'log4j\.properties' +# $ find-in-jars '^log4j(\.properties|\.xml)$' +# $ find-in-jars 'log4j\.properties$' -d /path/to/find/directory +# $ find-in-jars 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-find-in-jarssh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-find-in-jars # @author Jerry Lee (oldratlee at gmail dot com) readonly PROG=`basename $0` diff --git a/show-busy-java-threads.sh b/show-busy-java-threads similarity index 98% rename from show-busy-java-threads.sh rename to show-busy-java-threads index 945429f8..cf7d3843 100755 --- a/show-busy-java-threads.sh +++ b/show-busy-java-threads @@ -3,9 +3,9 @@ # Find out the highest cpu consumed threads of java, and print the stack of these threads. # # @Usage -# $ ./show-busy-java-threads.sh +# $ ./show-busy-java-threads # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threadssh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threads # @author Jerry Lee (oldratlee at gmail dot com) # @author superhj1987 (superhj1987 at 126 dot com) diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter similarity index 83% rename from tcp-connection-state-counter.sh rename to tcp-connection-state-counter index 51d29c15..322dfabb 100755 --- a/tcp-connection-state-counter.sh +++ b/tcp-connection-state-counter @@ -3,9 +3,9 @@ # show count of tcp connection stat. # # @Usage -# $ ./tcp-connection-state-counter.sh +# $ ./tcp-connection-state-counter # -# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-tcp-connection-state-countersh +# @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-tcp-connection-state-counter # @author Jerry Lee (oldratlee at gmail dot com) # @author @sunuslee (sunuslee at gmail dot com) From 67373642b09e09eaa11be68edd64a4f57640472d Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 24 Oct 2017 01:41:46 +0800 Subject: [PATCH 053/141] add symbolic link for compatibility #61 --- docs/java.md | 2 ++ docs/shell.md | 2 ++ echo-args.sh | 1 + find-in-jars.sh | 1 + show-busy-java-threads.sh | 1 + tcp-connection-state-counter.sh | 1 + 6 files changed, 8 insertions(+) create mode 120000 echo-args.sh create mode 120000 find-in-jars.sh create mode 120000 show-busy-java-threads.sh create mode 120000 tcp-connection-state-counter.sh diff --git a/docs/java.md b/docs/java.md index 0bc883a7..864b0581 100644 --- a/docs/java.md +++ b/docs/java.md @@ -24,6 +24,7 @@ + :beer: [show-busy-java-threads](../show-busy-java-threads) ---------------------- @@ -321,6 +322,7 @@ class paths to find: [tgic](https://github.com/tg123)提供此脚本。友情贡献者的链接[commandlinefu.cn](http://commandlinefu.cn/)|[微博linux命令行精选](http://weibo.com/u/2674868673) + :beer: [find-in-jars](../find-in-jars) ---------------------- diff --git a/docs/shell.md b/docs/shell.md index ab1ecb9c..40c5b872 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -203,6 +203,7 @@ $ rp /home /etc/../etc /home/admin ../../etc ``` + :beer: [tcp-connection-state-counter](../tcp-connection-state-counter) ---------------------- @@ -276,6 +277,7 @@ xpf /path/to/dir1 /path/to/foo1.txt `Shell`开发/测试加强 ==================================== + :beer: [echo-args](../echo-args) ---------------------- diff --git a/echo-args.sh b/echo-args.sh new file mode 120000 index 00000000..32c33811 --- /dev/null +++ b/echo-args.sh @@ -0,0 +1 @@ +echo-args \ No newline at end of file diff --git a/find-in-jars.sh b/find-in-jars.sh new file mode 120000 index 00000000..cd6c3a87 --- /dev/null +++ b/find-in-jars.sh @@ -0,0 +1 @@ +find-in-jars \ No newline at end of file diff --git a/show-busy-java-threads.sh b/show-busy-java-threads.sh new file mode 120000 index 00000000..2c3d2d79 --- /dev/null +++ b/show-busy-java-threads.sh @@ -0,0 +1 @@ +show-busy-java-threads \ No newline at end of file diff --git a/tcp-connection-state-counter.sh b/tcp-connection-state-counter.sh new file mode 120000 index 00000000..60b5928f --- /dev/null +++ b/tcp-connection-state-counter.sh @@ -0,0 +1 @@ +tcp-connection-state-counter \ No newline at end of file From 3b3b53d944b8a5c9f7ed3d2f5448d78a394e50f8 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 1 Nov 2017 13:34:36 +0800 Subject: [PATCH 054/141] support ignore case option --- docs/java.md | 1 + find-in-jars | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/java.md b/docs/java.md index 864b0581..d4210f0b 100644 --- a/docs/java.md +++ b/docs/java.md @@ -362,6 +362,7 @@ Options: -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression + -i, --ignore-case ignore case distinctions -h, --help display this help and exit ``` diff --git a/find-in-jars b/find-in-jars index 11b64994..d0921b16 100755 --- a/find-in-jars +++ b/find-in-jars @@ -34,6 +34,7 @@ Options: -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression + -i, --ignore-case ignore case distinctions -h, --help display this help and exit EOF @@ -69,6 +70,10 @@ while [ $# -gt 0 ]; do regex_mode=-P shift ;; + -i|--ignore-case) + ignore_case_option=-i + shift + ;; -h|--help) usage ;; @@ -163,7 +168,7 @@ counter=1 while read jar_file; do printResponsiveMessage "finding in jar($((counter++))/$total_count): $jar_file" - $command_for_list_zip "${jar_file}" | grep $regex_mode "$pattern" | while read file; do + $command_for_list_zip "${jar_file}" | grep $regex_mode $ignore_case_option "$pattern" | while read file; do clearResponsiveMessage echo "${jar_file}"\!"${file}" From 3f0e873873f5cf318118e14d19c4d0de974cbdba Mon Sep 17 00:00:00 2001 From: xiongchen2012 Date: Wed, 1 Nov 2017 13:36:08 +0800 Subject: [PATCH 055/141] =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E7=9A=84=E7=94=A8=E6=88=B7=E5=90=8D=E8=B6=85?= =?UTF-8?q?=E8=BF=878=E4=B8=AA=E6=97=B6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge pull request #62 from xiongchen2012/master --- show-busy-java-threads | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index cf7d3843..95461173 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -237,7 +237,7 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ -n "$append_file" ] && headInfo >> "$append_file" [ "$update_count" -ne 1 ] && headInfo - ps -Leo pid,lwp,user,comm,pcpu --no-headers | { + ps -Leo pid,lwp -o ruser=${USER} -o comm,pcpu --no-headers | { [ -z "${pid}" ] && awk '$4=="java"{print $0}' || awk -v "pid=${pid}" '$1==pid,$4=="java"{print $0}' From 1bb6909338e7695ad6767e112a6473b1ca2e1187 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 1 Nov 2017 15:40:40 +0800 Subject: [PATCH 056/141] more strict solution for trunk user name bug #62 more discussion see #62 --- show-busy-java-threads | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 95461173..35095729 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -237,7 +237,7 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ -n "$append_file" ] && headInfo >> "$append_file" [ "$update_count" -ne 1 ] && headInfo - ps -Leo pid,lwp -o ruser=${USER} -o comm,pcpu --no-headers | { + ps -Leo pid,lwp,user:80,comm,pcpu --no-headers | { [ -z "${pid}" ] && awk '$4=="java"{print $0}' || awk -v "pid=${pid}" '$1==pid,$4=="java"{print $0}' From 8c83c7bdddee826059de8f6fafdae5a5348b7af7 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 1 Nov 2017 16:14:07 +0800 Subject: [PATCH 057/141] add problem description comment for bug #62 --- show-busy-java-threads | 1 + 1 file changed, 1 insertion(+) diff --git a/show-busy-java-threads b/show-busy-java-threads index 35095729..1e6ee919 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -237,6 +237,7 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ -n "$append_file" ] && headInfo >> "$append_file" [ "$update_count" -ne 1 ] && headInfo + # explicit width control for user column, avoid trunk to username_fo+ or $uid alike ps -Leo pid,lwp,user:80,comm,pcpu --no-headers | { [ -z "${pid}" ] && awk '$4=="java"{print $0}' || From 2c8079b113d5877f2178d6b0b47c7f89d67c665f Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 2 Nov 2017 10:39:17 +0800 Subject: [PATCH 058/141] add contribution info --- README.md | 1 + docs/java.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index ead32cb0..27d4aa43 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![Join the chat at https://gitter.im/oldratlee/useful-scripts](https://badges.gitter.im/oldratlee/useful-scripts.svg)](https://gitter.im/oldratlee/useful-scripts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![GitHub release](https://img.shields.io/github/release/oldratlee/useful-scripts.svg)](https://github.com/oldratlee/useful-scripts/releases) [![GitHub stars](https://img.shields.io/github/stars/oldratlee/useful-scripts.svg?style=social&label=Star&)](https://github.com/oldratlee/useful-scripts/stargazers) [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) diff --git a/docs/java.md b/docs/java.md index d4210f0b..0fd1fc17 100644 --- a/docs/java.md +++ b/docs/java.md @@ -161,6 +161,7 @@ $ show-busy-java-threads - 优化性能,通过`read -a`简化反复的`awk`操作。 [#51](https://github.com/oldratlee/useful-scripts/pull/51) - [superhj1987](https://github.com/superhj1987) / [lirenzuo](https://github.com/lirenzuo) - 提出/实现了多次执行的功能 [superhj1987/awesome-scripts#1](https://github.com/superhj1987/awesome-scripts/issues/1) +- [xiongchen2012](https://github.com/xiongchen2012) 提出/解决了长用户名截断的Bug [#62](https://github.com/oldratlee/useful-scripts/pull/62) :beer: [show-duplicate-java-classes](../show-duplicate-java-classes) ---------------------- From 4f4c268dc2b9de1dca781f0eb9ed76675db10ef8 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 6 Nov 2017 14:17:08 +0800 Subject: [PATCH 059/141] clean code, simplify command --- cp-svn-url.sh | 14 +++++--------- xpl | 9 ++++----- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/cp-svn-url.sh b/cp-svn-url.sh index 3caa56d0..60fa2342 100755 --- a/cp-svn-url.sh +++ b/cp-svn-url.sh @@ -27,7 +27,7 @@ EOF exit $1 } -for a in "$@"; do +for a; do [ -h = "$a" -o --help = "$1" ] && usage done @@ -35,21 +35,17 @@ done readonly dir="${1:-.}" -readonly url=$(svn info "${dir}" | awk '/^URL: /{print $2}') +readonly url="$(svn info "${dir}" | awk '/^URL: /{print $2}')" if [ -z "${url}" ]; then echo "Fail to get svn url!" 1>&2 exit 1 fi copy() { - local name=$(uname | tr A-Z a-z) - - case "${name}" in - darwin*) + case "`uname`" in + Darwin*) pbcopy ;; - cygwin*) - clip ;; - mingw*) + CYGWIN*|MINGW*) clip ;; *) xsel -b ;; diff --git a/xpl b/xpl index a387ef66..beb43734 100755 --- a/xpl +++ b/xpl @@ -46,17 +46,16 @@ while true; do esac done -name=$(uname | tr A-Z a-z) [ $# == 0 ] && files=( "." ) || files=( "$@" ) for file in "${files[@]}" ; do [ ! -e $file ] && { echo "$file not exsited!"; continue; } - case "${name}" in - darwin*) + case "`uname`" in + Darwin*) [ -f "${file}" ] && selected=true open ${selected:+-R} ${file} ;; - cygwin*) + CYGWIN*) [ -f "${file}" ] && selected=true explorer ${selected:+/select,} "$(cygpath -w "${file}")" ;; @@ -71,6 +70,6 @@ for file in "${files[@]}" ; do fi fi ;; - esac + esac echo "$file opened!" done From 1728fa13122f91ccc5a85138a0b1e774c45bb53b Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 9 Nov 2017 13:57:11 +0800 Subject: [PATCH 060/141] improve docs --- docs/java.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/java.md b/docs/java.md index 0fd1fc17..f6319fc0 100644 --- a/docs/java.md +++ b/docs/java.md @@ -34,13 +34,13 @@ PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布式Java应用》的【5.1.1 cpu消耗分析】一节,说得很详细: 1. `top`命令找出有问题`Java`进程及线程`id`: - 1. 开启线程显示模式 - 1. 按`CPU`使用率排序 + 1. 开启线程显示模式(`top -H`,或是打开`top`后按`H`) + 1. 按`CPU`使用率排序(`top`缺省是按`CPU`使用降序,已经合要求;打开`top`后按`P`可以显式指定按`CPU`使用降序) 1. 记下`Java`进程`id`及其`CPU`高的线程`id` 1. 用进程`id`作为参数,`jstack`有问题的`Java`进程 1. 手动转换线程`id`成十六进制(可以用`printf %x 1234`) -1. 查找十六进制的线程`id`(可以用`grep`) -1. 查看对应的线程栈 +1. 查找十六进制的线程`id`(可以用`vim`的查找功能`/0x1234`,或是`grep 0x1234 -A 20`) +1. 查看对应的线程栈,以分析问题 查问题时,会要多次这样操作以确定问题,上面过程**太繁琐太慢了**。 From 4921311ac83bde1867d118fe84ed2a4b174df7de Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 13 Nov 2017 13:34:44 +0800 Subject: [PATCH 061/141] avoid trunk user column to userfo+ or $uid alike - use wide output(unlimited width) - move user to last column --- show-busy-java-threads | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 1e6ee919..aeafd1ad 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -180,8 +180,8 @@ printStackOfThreads() { local pid=${line[0]} local threadId=${line[1]} local threadId0x="0x`printf %x ${threadId}`" - local user=${line[2]} - local pcpu=${line[4]} + local pcpu=${line[3]} + local user=${line[4]} ((counter++)) local jstackFile=/tmp/${uuid}_${pid} @@ -237,10 +237,10 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ -n "$append_file" ] && headInfo >> "$append_file" [ "$update_count" -ne 1 ] && headInfo - # explicit width control for user column, avoid trunk to username_fo+ or $uid alike - ps -Leo pid,lwp,user:80,comm,pcpu --no-headers | { + # use wide output(unlimited width), avoid trunk user column to username_fo+ or $uid alike + ps -wwLeo pid,lwp,comm,pcpu,user --no-headers | { [ -z "${pid}" ] && - awk '$4=="java"{print $0}' || - awk -v "pid=${pid}" '$1==pid,$4=="java"{print $0}' - } | sort -k5 -r -n | head -n "${count}" | printStackOfThreads + awk '$3=="java"{print $0}' || + awk -v "pid=${pid}" '$1==pid,$3=="java"{print $0}' + } | sort -k4,4 -r -n | head -n "${count}" | printStackOfThreads done From 2cea6e90cd95e9e66a742ceb00590433f308b8fc Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 20 Nov 2017 12:09:49 +0800 Subject: [PATCH 062/141] colorful output for find-in-jars --- echo-args | 4 ++-- find-in-jars | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/echo-args b/echo-args index b02fcab2..03c1900f 100755 --- a/echo-args +++ b/echo-args @@ -5,7 +5,7 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-echo-args # @author Jerry Lee (oldratlee at gmail dot com) -readonly ebegin=$'\033[1;31m' # escape begin, red color +readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end echoArg() { @@ -15,7 +15,7 @@ echoArg() { # if stdout is console, turn on color output. [ -t 1 ] && - echo "$index/$count: $ebegin[$eend$value$ebegin]$eend" || + echo "$index/$count: $ec[1;31m[$eend$ec[0;34;42m$value$eend$ec[1;31m]$eend" || echo "$index/$count: [$value]" } diff --git a/find-in-jars b/find-in-jars index d0921b16..10559e1a 100755 --- a/find-in-jars +++ b/find-in-jars @@ -131,8 +131,9 @@ fi # https://unix.stackexchange.com/questions/299067 $is_console && readonly columns=$(stty size | awk '{print $2}') -readonly ec=$'\033' # escape char -readonly cr=$'\r' # carriage return +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end +readonly cr=$'\r' # carriage return printResponsiveMessage() { $is_console || return @@ -171,7 +172,9 @@ while read jar_file; do $command_for_list_zip "${jar_file}" | grep $regex_mode $ignore_case_option "$pattern" | while read file; do clearResponsiveMessage - echo "${jar_file}"\!"${file}" + $is_console && + echo "$ec[1;31m${jar_file}$eend"\!"$ec[1;32m${file}$eend" || + echo "${jar_file}"\!"${file}" done clearResponsiveMessage From 2f8193a89e1b5e6800d78e0126a9874038c505d4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 21 Nov 2017 00:25:02 +0800 Subject: [PATCH 063/141] improve format --- docs/java.md | 2 +- find-in-jars | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/java.md b/docs/java.md index f6319fc0..1e3010ff 100644 --- a/docs/java.md +++ b/docs/java.md @@ -321,7 +321,7 @@ class paths to find: ### 贡献者 -[tgic](https://github.com/tg123)提供此脚本。友情贡献者的链接[commandlinefu.cn](http://commandlinefu.cn/)|[微博linux命令行精选](http://weibo.com/u/2674868673) +[tgic](https://github.com/tg123)提供此脚本。友情贡献者的链接 [commandlinefu.cn](http://commandlinefu.cn/) | [微博linux命令行精选](http://weibo.com/u/2674868673) :beer: [find-in-jars](../find-in-jars) diff --git a/find-in-jars b/find-in-jars index 10559e1a..5999b347 100755 --- a/find-in-jars +++ b/find-in-jars @@ -22,10 +22,10 @@ Find file in the jar files under specified directory(recursive, include subdirec The pattern default is *extended* regex. Example: - ${PROG} 'log4j\.properties' - ${PROG} '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root - ${PROG} 'log4j\.properties$' -d /path/to/find/directory - ${PROG} 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + ${PROG} 'log4j\.properties' + ${PROG} '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root + ${PROG} 'log4j\.properties$' -d /path/to/find/directory + ${PROG} 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 Options: -d, --dir the directory that find jar files, default is current directory. From 6538777e345ff03f85167413d929c8ba7a512b75 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 27 Nov 2017 14:26:39 +0800 Subject: [PATCH 064/141] support absolute path option for find-in-jars --- docs/java.md | 26 +++++++++++++------------- find-in-jars | 23 ++++++++++++++++++++--- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/docs/java.md b/docs/java.md index 1e3010ff..cfcecda4 100644 --- a/docs/java.md +++ b/docs/java.md @@ -344,6 +344,10 @@ find-in-jars 'log4j\.properties$' -d /path/to/find/directory # 支持多个查找目录 find-in-jars 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 +# -a选项 指定 查找结果中的Jar文件使用绝对路径 +# 分享给别人时,Jar文件路径是完整的,方便别人找到文件 +find-in-jars 'log4j\.properties' -a + # 帮助信息 $ find-in-jars -h Usage: find-in-jars [OPTION]... PATTERN @@ -358,12 +362,13 @@ Example: Options: -d, --dir the directory that find jar files, default is current directory. - this option can specify multiply times to find in multiply directory. + this option can specify multiply times to find in multiply directories. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression -i, --ignore-case ignore case distinctions + -a, --absolute-path always print absolute path of jar file -h, --help display this help and exit ``` @@ -376,23 +381,18 @@ Options: $ find-in-jars 'log4j\.properties$' ./hadoop-core-0.20.2-cdh3u3.jar!log4j.properties -# 查找出 以Service结尾的类 -$ ./find-in-jars 'Service.class$' -./WEB-INF/libs/spring-2.5.6.SEC03.jar!org/springframework/stereotype/Service.class -./rpc-benchmark-0.0.1-SNAPSHOT.jar!com/taobao/rpc/benchmark/service/HelloService.class +# 查找出 以Service结尾的类,Jar文件路径输出成绝对路径 +$ find-in-jars 'Service.class$' -a +/home/foo/deploy/app/WEB-INF/libs/spring-2.5.6.SEC03.jar!org/springframework/stereotype/Service.class +/home/foo/deploy/app/WEB-INF/libs/rpc-hello-0.0.1-SNAPSHOT.jar!com/taobao/biz/HelloService.class ...... # 在指定的多个目录的Jar文件中,查找出 properties文件 -$ find-in-jars '\.properties$' -d ../WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' -../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/ajc/messages.properties -../WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/internal/compiler/parser/readableNames.properties -../WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties -../WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/weaver-messages.properties +$ find-in-jars '\.properties$' -d WEB-INF/lib -d ../deploy/lib | grep -v '/pom\.properties$' +WEB-INF/lib/aspectjtools-1.6.2.jar!org/aspectj/ajdt/ajc/messages.properties +WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties ../deploy/lib/groovy-all-1.1-rc-1.jar!groovy/ui/InteractiveShell.properties -../deploy/lib/groovy-all-1.1-rc-1.jar!org/codehaus/groovy/tools/shell/CommandAlias.properties ../deploy/lib/httpcore-4.3.3.jar!org/apache/http/version.properties -../deploy/lib/httpmime-4.2.2.jar!org/apache/http/entity/mime/version.properties -../deploy/lib/javax.servlet-api-3.0.1.jar!javax/servlet/LocalStrings_fr.properties ../deploy/lib/javax.servlet-api-3.0.1.jar!javax/servlet/http/LocalStrings_es.properties ...... ``` diff --git a/find-in-jars b/find-in-jars index 5999b347..bf1f7ecd 100755 --- a/find-in-jars +++ b/find-in-jars @@ -29,12 +29,13 @@ Example: Options: -d, --dir the directory that find jar files, default is current directory. - this option can specify multiply times to find in multiply directory. + this option can specify multiply times to find in multiply directories. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression -i, --ignore-case ignore case distinctions + -a, --absolute-path always print absolute path of jar file -h, --help display this help and exit EOF @@ -45,9 +46,10 @@ EOF # parse options ################################################################################ -args=() -dirs=() +declare -a args=() +declare -a dirs=() regex_mode=-E +use_absolute_path=false while [ $# -gt 0 ]; do case "$1" in -d|--dir) @@ -74,6 +76,10 @@ while [ $# -gt 0 ]; do ignore_case_option=-i shift ;; + -a|--absolute-path) + use_absolute_path=true + shift + ;; -h|--help) usage ;; @@ -89,6 +95,17 @@ dirs=${dirs:-.} [ "${#args[@]}" -gt 1 ] && { echo "More than 1 file pattern!" 1>&2 ; usage 1; } readonly pattern="${args[0]}" +# convert dirs to Absolute Path. +$use_absolute_path && { + declare -a tmp_dirs=() + + for d in "${dirs[@]}"; do + tmp_dirs=( "${tmp_dirs[@]}" "$(cd "$d" && pwd)" ) + done + + dirs=( "${tmp_dirs[@]}" ) +} + ################################################################################ # Check the existence of command for listing zip entry! ################################################################################ From 2d3745020671f98c3ab701e2f44244014b874d0e Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 27 Nov 2017 15:52:29 +0800 Subject: [PATCH 065/141] improve comments --- docs/java.md | 8 +++++--- find-in-jars | 5 ++++- parseOpts.sh | 6 +++--- show-busy-java-threads | 34 +++++++++++++++++++++++----------- test-cases/parseOpts-test.sh | 2 +- 5 files changed, 36 insertions(+), 19 deletions(-) diff --git a/docs/java.md b/docs/java.md index cfcecda4..9c639892 100644 --- a/docs/java.md +++ b/docs/java.md @@ -31,7 +31,7 @@ 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 目前只支持`Linux`。原因是`Mac`、`Windows`的`ps`命令不支持列出线程线程,更多信息参见[#33](https://github.com/oldratlee/useful-scripts/issues/33),欢迎提供解法。 -PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布式Java应用》的【5.1.1 cpu消耗分析】一节,说得很详细: +PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的[《分布式Java应用》](https://book.douban.com/subject/4848587/)的【5.1.1 cpu消耗分析】一节,说得很详细: 1. `top`命令找出有问题`Java`进程及线程`id`: 1. 开启线程显示模式(`top -H`,或是打开`top`后按`H`) @@ -42,7 +42,7 @@ PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布 1. 查找十六进制的线程`id`(可以用`vim`的查找功能`/0x1234`,或是`grep 0x1234 -A 20`) 1. 查看对应的线程栈,以分析问题 -查问题时,会要多次这样操作以确定问题,上面过程**太繁琐太慢了**。 +查问题时,会要多次上面的操作以分析确定问题,这个过程**太繁琐太慢了**。 ### 用法 @@ -139,7 +139,9 @@ $ show-busy-java-threads at com.xxx.foo.services.common.utils.AliTimer$2.run(AliTimer.java:128) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) -... + at java.lang.Thread.run(Thread.java:662) + +...... ``` 上面的线程栈可以看出,`CPU`消耗最高的2个线程都在执行`java.text.DateFormat.format`,业务代码对应的方法是`shared.monitor.schedule.AppMonitorDataAvgScheduler.run`。可以基本确定: diff --git a/find-in-jars b/find-in-jars index bf1f7ecd..9a01ded5 100755 --- a/find-in-jars +++ b/find-in-jars @@ -139,7 +139,7 @@ else fi ################################################################################ -# find logic +# utils ################################################################################ [ -t 1 ] && readonly is_console=true || readonly is_console=false @@ -174,6 +174,9 @@ clearResponsiveMessage() { echo -n "$ec[2K$cr" } +################################################################################ +# find logic +################################################################################ readonly jar_files="$(find "${dirs[@]}" -iname '*.jar')" readonly total_count="$(echo "$jar_files" | wc -l)" diff --git a/parseOpts.sh b/parseOpts.sh index fab7dcd5..2203a019 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -19,7 +19,7 @@ # @author Jerry Lee (oldratlee at gmail dot com) ##################################################################### -# Utils Methods +# Utils Funtions ##################################################################### # NOTE: $'foo' is the escape sequence syntax of bash @@ -50,7 +50,7 @@ _opts_convertToVarName() { } ##################################################################### -# Parse Methods +# Parse Functions # # Use Globle Variable: # * _OPT_INFO_LIST_INDEX : Option info, data structure. @@ -315,7 +315,7 @@ parseOpts() { } ##################################################################### -# Show parsed Option Info Methods +# Show parsed Option Info Functions ##################################################################### _opts_showOptDescInfoList() { diff --git a/show-busy-java-threads b/show-busy-java-threads index aeafd1ad..2c3372f9 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -19,8 +19,8 @@ uname | grep '^Linux' -q || { } # Get corrent current user name via whoami command -# See get https://www.lifewire.com/current-linux-user-whoami-command-3867579 -# Because if use `sudo -u` to run command, env var $USER is not rewrited/correct, just inherited from outside! +# See https://www.lifewire.com/current-linux-user-whoami-command-3867579 +# Because if run command by `sudo -u`, env var $USER is not rewrited/correct, just inherited from outside! readonly USER="`whoami`" usage() { @@ -54,6 +54,10 @@ EOF exit $1 } +################################################################################ +# parse options +################################################################################ + readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:Fmlh -l count:,pid:,append-file:,jstack-path:,force,mix-native-frames,lock-info,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -103,6 +107,10 @@ update_delay=${1:-0} [ -z "$1" ] && update_count=1 || update_count=${2:-0} [ $update_count -lt 0 ] && update_count=0 +################################################################################ +# utils funtions +################################################################################ + # NOTE: $'foo' is the escape sequence syntax of bash readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end @@ -110,12 +118,9 @@ readonly eend=$'\033[0m' # escape end colorPrint() { local color=$1 shift - if [ -t 1 ] ; then - # if stdout is console, turn on color output. - echo "$ec[1;${color}m$@$eend" - else - echo "$@" - fi + + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" [ -n "$append_file" ] && echo "$@" >> "$append_file" } @@ -142,13 +147,16 @@ normalPrint() { [ -n "$append_file" ] && echo "$@" >> "$append_file" } +################################################################################ +# check the existence of jstack command! +################################################################################ + if [ -n "$jstack_path" ]; then [ ! -x "$jstack_path" ] && { redPrint "Error: $jstack_path is NOT found/executalbe!" 1>&2 exit 1 } elif which jstack &> /dev/null; then - # Check the existence of jstack command! jstack_path="`which jstack`" else [ -z "$JAVA_HOME" ] && { @@ -166,6 +174,10 @@ else jstack_path="$JAVA_HOME/bin/jstack" fi +################################################################################ +# biz logic +################################################################################ + readonly uuid=`date +%s`_${RANDOM}_$$ cleanupWhenExit() { @@ -192,14 +204,14 @@ printStackOfThreads() { elif [ $UID == 0 ]; then sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} else - redPrint "[$counter] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." redPrint "User of java process($user) is not current user($USER), need sudo to run again:" yellowPrint " sudo ${COMMAND_LINE[@]}" normalPrint continue fi } || { - redPrint "[$counter] Fail to jstack Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." normalPrint rm ${jstackFile} continue diff --git a/test-cases/parseOpts-test.sh b/test-cases/parseOpts-test.sh index 9535cf42..02b785a2 100755 --- a/test-cases/parseOpts-test.sh +++ b/test-cases/parseOpts-test.sh @@ -6,7 +6,7 @@ BASE=`dirname $0` ################################################# -# Utils Methods +# Utils Functions ################################################# # NOTE: $'foo' is the escape sequence syntax of bash From de16ef932cfb1f72bc88ec09bc9d87ffda2e85db Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 4 Dec 2017 13:04:49 +0800 Subject: [PATCH 066/141] clean code --- README.md | 2 +- console-text-color-themes.sh | 8 ++------ parseOpts.sh | 8 ++------ swtrunk.sh | 8 ++------ test-cases/parseOpts-test.sh | 8 ++------ 5 files changed, 9 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 27d4aa43..89349a0d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![GitHub forks](https://img.shields.io/github/forks/oldratlee/useful-scripts.svg?style=social&label=Fork&)](https://github.com/oldratlee/useful-scripts/fork) -把平时有用的手动操作做成脚本,这样可以便捷的使用。 :sparkles: +:point_right: 把平时有用的手动操作做成脚本,这样可以便捷的使用。 :sparkles: 有自己用的好的脚本 或是 平时常用但没有写成脚本的功能,欢迎提供([提交Issue](https://github.com/oldratlee/useful-scripts/issues))和分享([Fork后提交代码](https://github.com/oldratlee/useful-scripts/fork))! :sparkling_heart: diff --git a/console-text-color-themes.sh b/console-text-color-themes.sh index 783555a4..43f850a0 100755 --- a/console-text-color-themes.sh +++ b/console-text-color-themes.sh @@ -15,18 +15,14 @@ colorEcho() { local combination="$1" shift 1 - [ -t 1 ] && - echo "$_ctct_ec[${combination}m$@$_ctct_eend" || - echo "$@" + [ -t 1 ] && echo "$_ctct_ec[${combination}m$@$_ctct_eend" || echo "$@" } colorEchoWithoutNewLine() { local combination="$1" shift 1 - [ -t 1 ] && - echo -n "$_ctct_ec[${combination}m$@$_ctct_eend" || - echo -n "$@" + [ -t 1 ] && echo -n "$_ctct_ec[${combination}m$@$_ctct_eend" || echo -n "$@" } # if not directly run this script(use as lib), just export 2 helper functions, diff --git a/parseOpts.sh b/parseOpts.sh index 2203a019..caeb1711 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -29,12 +29,8 @@ readonly _opts_eend=$'\033[0m' # escape end _opts_colorEcho() { local color=$1 shift - if [ -t 1 ] ; then - # if stdout is console, turn on color output. - echo "$_opts_ec[1;${color}m$@$_opts_eend" - else - echo "$@" - fi + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$_opts_ec[1;${color}m$@$_opts_eend" || echo "$@" } _opts_redEcho() { diff --git a/swtrunk.sh b/swtrunk.sh index a6eb36c6..e1ae412e 100755 --- a/swtrunk.sh +++ b/swtrunk.sh @@ -15,12 +15,8 @@ readonly eend=$'\033[0m' # escape end colorEcho() { local color=$1 shift - if [ -t 1 ] ; then - # if stdout is console, turn on color output. - echo "$ec[1;${color}m$@$eend" - else - echo "$@" - fi + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" } redEcho() { diff --git a/test-cases/parseOpts-test.sh b/test-cases/parseOpts-test.sh index 02b785a2..6fbd8ff9 100755 --- a/test-cases/parseOpts-test.sh +++ b/test-cases/parseOpts-test.sh @@ -16,12 +16,8 @@ readonly eend=$'\033[0m' # escape end colorEcho() { local color=$1 shift - if [ -t 1 ] ; then - # if stdout is console, turn on color output. - echo "$ec[1;${color}m$@$eend" - else - echo "$@" - fi + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" } redEcho() { From 701504170daa6a93017f77232475f30007a86aba Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 4 Dec 2017 13:26:33 +0800 Subject: [PATCH 067/141] improve find-in-jars: color grep match pattern #63 --- docs/java.md | 7 +++++++ find-in-jars | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/java.md b/docs/java.md index 9c639892..fe283bf9 100644 --- a/docs/java.md +++ b/docs/java.md @@ -20,6 +20,7 @@ - [:beer: find-in-jars](#beer-find-in-jars) - [用法](#%E7%94%A8%E6%B3%95-2) - [示例](#%E7%A4%BA%E4%BE%8B-2) + - [运行效果](#%E8%BF%90%E8%A1%8C%E6%95%88%E6%9E%9C) - [参考资料](#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99) @@ -399,6 +400,12 @@ WEB-INF/lib/aspectjweaver-1.8.8.jar!org/aspectj/weaver/XlintDefault.properties ...... ``` +### 运行效果 + +支持彩色输出,文件名中的匹配部分以`grep`的高亮方式显示。 + +![](https://user-images.githubusercontent.com/1063891/33545067-9eb66072-d8a2-11e7-8a77-d815c0979e5e.gif) + ### 参考资料 [在多个Jar(Zip)文件查找Log4J配置文件的Shell命令行](http://oldratlee.com/458/tech/shell/find-file-in-jar-zip-files.html) diff --git a/find-in-jars b/find-in-jars index 9a01ded5..a19d43e1 100755 --- a/find-in-jars +++ b/find-in-jars @@ -185,15 +185,17 @@ readonly total_count="$(echo "$jar_files" | wc -l)" exit 1 } +$is_console && readonly grep_color_option='--color=always' + counter=1 while read jar_file; do printResponsiveMessage "finding in jar($((counter++))/$total_count): $jar_file" - $command_for_list_zip "${jar_file}" | grep $regex_mode $ignore_case_option "$pattern" | while read file; do + $command_for_list_zip "${jar_file}" | grep $regex_mode $ignore_case_option $grep_color_option -- "$pattern" | while read file; do clearResponsiveMessage $is_console && - echo "$ec[1;31m${jar_file}$eend"\!"$ec[1;32m${file}$eend" || + echo "$ec[1;31m${jar_file}$eend$ec[1;32m"\!"$eend${file}" || echo "${jar_file}"\!"${file}" done From 400ecc3d6b001d5ae31c796675eba5c7a871b34f Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 7 Dec 2017 23:15:49 +0800 Subject: [PATCH 068/141] improve option parse of find-in-jars, support -- --- find-in-jars | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/find-in-jars b/find-in-jars index a19d43e1..4e4e2c06 100755 --- a/find-in-jars +++ b/find-in-jars @@ -83,6 +83,11 @@ while [ $# -gt 0 ]; do -h|--help) usage ;; + --) + shift + args=("${args[@]}" "$@") + break + ;; *) args=("${args[@]}" "$1") shift From dee4143fb72977d95cc06c9031ecd2d23923fc70 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 7 Dec 2017 23:18:17 +0800 Subject: [PATCH 069/141] improve format of find-in-jars --- find-in-jars | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/find-in-jars b/find-in-jars index 4e4e2c06..54471a1c 100755 --- a/find-in-jars +++ b/find-in-jars @@ -196,14 +196,15 @@ counter=1 while read jar_file; do printResponsiveMessage "finding in jar($((counter++))/$total_count): $jar_file" - $command_for_list_zip "${jar_file}" | grep $regex_mode $ignore_case_option $grep_color_option -- "$pattern" | while read file; do - clearResponsiveMessage + $command_for_list_zip "${jar_file}" | + grep $regex_mode $ignore_case_option $grep_color_option -- "$pattern" | + while read file; do + clearResponsiveMessage - $is_console && - echo "$ec[1;31m${jar_file}$eend$ec[1;32m"\!"$eend${file}" || - echo "${jar_file}"\!"${file}" - done + $is_console && + echo "$ec[1;31m${jar_file}$eend$ec[1;32m"\!"$eend${file}" || + echo "${jar_file}"\!"${file}" + done clearResponsiveMessage - done < <(echo "$jar_files") From aa7e22296a13dd09b0df497118f88059a97f4162 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 7 Dec 2017 23:23:27 +0800 Subject: [PATCH 070/141] improve find-in-jars stricter --- find-in-jars | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/find-in-jars b/find-in-jars index 54471a1c..c7b25d95 100755 --- a/find-in-jars +++ b/find-in-jars @@ -11,7 +11,7 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-find-in-jars # @author Jerry Lee (oldratlee at gmail dot com) -readonly PROG=`basename $0` +readonly PROG="`basename "$0"`" usage() { [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout @@ -183,7 +183,7 @@ clearResponsiveMessage() { # find logic ################################################################################ -readonly jar_files="$(find "${dirs[@]}" -iname '*.jar')" +readonly jar_files="$(find "${dirs[@]}" -iname '*.jar' -type f)" readonly total_count="$(echo "$jar_files" | wc -l)" [ -z "$jar_files" ] && { echo "No jar found!" 1>&2 From 1358723b478f8d8f4b14bd4ef2f0d7c8e106d243 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 20 Dec 2017 04:35:01 +0800 Subject: [PATCH 071/141] improve coat --- coat | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/coat b/coat index 162f4d20..39466129 100755 --- a/coat +++ b/coat @@ -13,6 +13,10 @@ set -e set -o pipefail +# if not in console, use cat directly +# check isatty in bash https://stackoverflow.com/questions/10022323 +[ ! -t 1 ] && exec cat "$@" + # NOTE: $'foo' is the escape sequence syntax of bash readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end @@ -21,9 +25,7 @@ readonly -a ECHO_COLORS=(31 32 37 34 33 35 36) COUNT=0 colorEcho() { local color="${ECHO_COLORS[COUNT++ % ${#ECHO_COLORS[@]}]}" - # check isatty in bash https://stackoverflow.com/questions/10022323 - # if stdout is console, turn on color output. - [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" + echo "$ec[1;${color}m$@$eend" } # Bash read line does not read leading spaces https://stackoverflow.com/questions/29689172 From bff0359758baa95ecf74c423997c15227fb6eed9 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 22 Dec 2017 13:40:48 +0800 Subject: [PATCH 072/141] code cleanup: use &&/|| instead of if/else --- c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/c b/c index c8db0562..333dd5c6 100755 --- a/c +++ b/c @@ -24,8 +24,5 @@ teeAndCopy() { tee >(content="$(cat)"; echo -n "$content" | copy) } -if [ $# -eq 0 ]; then - teeAndCopy -else - "$@" | teeAndCopy -fi +[ $# -eq 0 ] && teeAndCopy || + "$@" | teeAndCopy From a74f9991c8593d7c4fbaf902c6220fe7a019c5b5 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 22 Dec 2017 16:40:37 +0800 Subject: [PATCH 073/141] fix typo --- docs/java.md | 4 ++-- show-busy-java-threads | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/java.md b/docs/java.md index fe283bf9..5b43fa6f 100644 --- a/docs/java.md +++ b/docs/java.md @@ -90,7 +90,7 @@ Find out the highest cpu consumed threads of java, and print the stack of these Example: show-busy-java-threads # show busy java threads info - show-busy-java-threads 1 # update every 1 seconds, (stop by eg: CTRL+C) + show-busy-java-threads 1 # update every 1 second, (stop by eg: CTRL+C) show-busy-java-threads 3 10 # update every 3 seconds, update 10 times Options: @@ -106,7 +106,7 @@ Options: -h, --help display this help and exit delay the delay between updates in seconds count the number of updates - delay/count arguments imitates style of vmstat command + delay/count arguments imitates the style of vmstat command ``` ### 示例 diff --git a/show-busy-java-threads b/show-busy-java-threads index 2c3372f9..6fc26083 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -18,9 +18,9 @@ uname | grep '^Linux' -q || { exit 2 } -# Get corrent current user name via whoami command +# Get current user name via whoami command # See https://www.lifewire.com/current-linux-user-whoami-command-3867579 -# Because if run command by `sudo -u`, env var $USER is not rewrited/correct, just inherited from outside! +# Because if run command by `sudo -u`, env var $USER is not rewritten/correct, just inherited from outside! readonly USER="`whoami`" usage() { @@ -32,7 +32,7 @@ Find out the highest cpu consumed threads of java, and print the stack of these Example: ${PROG} # show busy java threads info - ${PROG} 1 # update every 1 seconds, (stop by eg: CTRL+C) + ${PROG} 1 # update every 1 second, (stop by eg: CTRL+C) ${PROG} 3 10 # update every 3 seconds, update 10 times Options: @@ -48,7 +48,7 @@ Options: -h, --help display this help and exit delay the delay between updates in seconds count the number of updates - delay/count arguments imitates style of vmstat command + delay/count arguments imitates the style of vmstat command EOF exit $1 From ee7165504b171d5d4a2741c36f10d66489564ce7 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 1 Jan 2018 16:34:40 +0800 Subject: [PATCH 074/141] code cleanup - use fatal function to simplify exit code - use || operator to to remove ! operator - add more comments --- show-busy-java-threads | 127 ++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 66 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 6fc26083..e70d6f26 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -11,18 +11,55 @@ readonly PROG="`basename $0`" readonly -a COMMAND_LINE=("$0" "$@") - -# Check os support! -uname | grep '^Linux' -q || { - echo "$PROG only support Linux, not support `uname` yet!" 1>&2 - exit 2 -} - # Get current user name via whoami command # See https://www.lifewire.com/current-linux-user-whoami-command-3867579 # Because if run command by `sudo -u`, env var $USER is not rewritten/correct, just inherited from outside! readonly USER="`whoami`" +################################################################################ +# utils funtions +################################################################################ + +# NOTE: $'foo' is the escape sequence syntax of bash +readonly ec=$'\033' # escape char +readonly eend=$'\033[0m' # escape end + +colorPrint() { + local color=$1 + shift + + # if stdout is console, turn on color output. + [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" + + [ -n "$append_file" ] && echo "$@" >> "$append_file" +} + +redPrint() { + colorPrint 31 "$@" +} + +greenPrint() { + colorPrint 32 "$@" +} + +yellowPrint() { + colorPrint 33 "$@" +} + +bluePrint() { + colorPrint 36 "$@" +} + +normalPrint() { + echo "$@" + [ -n "$append_file" ] && echo "$@" >> "$append_file" +} + +fatal() { + redPrint "$@" 1>&2 + exit 1 +} + usage() { [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout @@ -54,6 +91,12 @@ EOF exit $1 } +################################################################################ +# Check os support +################################################################################ + +uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support `uname` yet!" + ################################################################################ # parse options ################################################################################ @@ -108,69 +151,18 @@ update_delay=${1:-0} [ $update_count -lt 0 ] && update_count=0 ################################################################################ -# utils funtions -################################################################################ - -# NOTE: $'foo' is the escape sequence syntax of bash -readonly ec=$'\033' # escape char -readonly eend=$'\033[0m' # escape end - -colorPrint() { - local color=$1 - shift - - # if stdout is console, turn on color output. - [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" - - [ -n "$append_file" ] && echo "$@" >> "$append_file" -} - -redPrint() { - colorPrint 31 "$@" -} - -greenPrint() { - colorPrint 32 "$@" -} - -yellowPrint() { - colorPrint 33 "$@" -} - -bluePrint() { - colorPrint 36 "$@" -} - -normalPrint() { - echo "$@" - - [ -n "$append_file" ] && echo "$@" >> "$append_file" -} - -################################################################################ -# check the existence of jstack command! +# check the existence of jstack command ################################################################################ if [ -n "$jstack_path" ]; then - [ ! -x "$jstack_path" ] && { - redPrint "Error: $jstack_path is NOT found/executalbe!" 1>&2 - exit 1 - } + [ -f "$jstack_path" ] || fatal "Error: $jstack_path is NOT found!" + [ -x "$jstack_path" ] || fatal "Error: $jstack_path is NOT executalbe!" elif which jstack &> /dev/null; then jstack_path="`which jstack`" else - [ -z "$JAVA_HOME" ] && { - redPrint "Error: jstack not found on PATH! Use -s option set jstack path manually." 1>&2 - exit 1 - } - [ ! -f "$JAVA_HOME/bin/jstack" ] && { - redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists! Use -s option set jstack path manually." 1>&2 - exit 1 - } - [ ! -x "$JAVA_HOME/bin/jstack" ] && { - redPrint "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." 1>&2 - exit 1 - } + [ -z "$JAVA_HOME" ] && fatal "Error: jstack not found on PATH and No JAVA_HOME setting! Use -s option set jstack path manually." + [ -f "$JAVA_HOME/bin/jstack" ] || fatal "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) file does NOT exists! Use -s option set jstack path manually." + [ -x "$JAVA_HOME/bin/jstack" ] || fatal "Error: jstack not found on PATH and \$JAVA_HOME/bin/jstack($JAVA_HOME/bin/jstack) is NOT executalbe! Use -s option set jstack path manually." jstack_path="$JAVA_HOME/bin/jstack" fi @@ -197,15 +189,18 @@ printStackOfThreads() { ((counter++)) local jstackFile=/tmp/${uuid}_${pid} - [ ! -f "${jstackFile}" ] && { + [ -f "${jstackFile}" ] || { { if [ "${user}" == "${USER}" ]; then + # run without sudo, when java process user is current user "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} elif [ $UID == 0 ]; then + # if java process user is not current user, must run jstack with sudo sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} else + # current user is not root user, so can not run with sudo; print error message and rerun suggestion redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - redPrint "User of java process($user) is not current user($USER), need sudo to run again:" + redPrint "User of java process($user) is not current user($USER), need sudo to rerun:" yellowPrint " sudo ${COMMAND_LINE[@]}" normalPrint continue From db43daa5e96a704b24bf4452154b9318908c0c91 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Mon, 1 Jan 2018 16:42:21 +0800 Subject: [PATCH 075/141] code cleanup - remove redundant parenthesis, reduce code indentation - utils function -> util functions --- find-in-jars | 2 +- parseOpts.sh | 2 +- show-busy-java-threads | 32 +++++++++++++++----------------- test-cases/parseOpts-test.sh | 2 +- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/find-in-jars b/find-in-jars index c7b25d95..3b42dad9 100755 --- a/find-in-jars +++ b/find-in-jars @@ -144,7 +144,7 @@ else fi ################################################################################ -# utils +# util funtions ################################################################################ [ -t 1 ] && readonly is_console=true || readonly is_console=false diff --git a/parseOpts.sh b/parseOpts.sh index caeb1711..1dc07f65 100755 --- a/parseOpts.sh +++ b/parseOpts.sh @@ -19,7 +19,7 @@ # @author Jerry Lee (oldratlee at gmail dot com) ##################################################################### -# Utils Funtions +# Util Funtions ##################################################################### # NOTE: $'foo' is the escape sequence syntax of bash diff --git a/show-busy-java-threads b/show-busy-java-threads index e70d6f26..94433b5b 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -17,7 +17,7 @@ readonly -a COMMAND_LINE=("$0" "$@") readonly USER="`whoami`" ################################################################################ -# utils funtions +# util funtions ################################################################################ # NOTE: $'foo' is the escape sequence syntax of bash @@ -190,22 +190,20 @@ printStackOfThreads() { ((counter++)) local jstackFile=/tmp/${uuid}_${pid} [ -f "${jstackFile}" ] || { - { - if [ "${user}" == "${USER}" ]; then - # run without sudo, when java process user is current user - "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} - elif [ $UID == 0 ]; then - # if java process user is not current user, must run jstack with sudo - sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} - else - # current user is not root user, so can not run with sudo; print error message and rerun suggestion - redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - redPrint "User of java process($user) is not current user($USER), need sudo to rerun:" - yellowPrint " sudo ${COMMAND_LINE[@]}" - normalPrint - continue - fi - } || { + if [ "${user}" == "${USER}" ]; then + # run without sudo, when java process user is current user + "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} + elif [ $UID == 0 ]; then + # if java process user is not current user, must run jstack with sudo + sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} + else + # current user is not root user, so can not run with sudo; print error message and rerun suggestion + redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "User of java process($user) is not current user($USER), need sudo to rerun:" + yellowPrint " sudo ${COMMAND_LINE[@]}" + normalPrint + continue + fi || { redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." normalPrint rm ${jstackFile} diff --git a/test-cases/parseOpts-test.sh b/test-cases/parseOpts-test.sh index 6fbd8ff9..95271746 100755 --- a/test-cases/parseOpts-test.sh +++ b/test-cases/parseOpts-test.sh @@ -6,7 +6,7 @@ BASE=`dirname $0` ################################################# -# Utils Functions +# Util Functions ################################################# # NOTE: $'foo' is the escape sequence syntax of bash From 0a8564ada1755d1802ce998b06abf1d349a7da04 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 2 Jan 2018 00:45:40 +0800 Subject: [PATCH 076/141] add quiet and keep eol option for c --- c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++--- docs/shell.md | 30 +++++++++++++++++++--- 2 files changed, 94 insertions(+), 7 deletions(-) diff --git a/c b/c index 333dd5c6..1c4877df 100755 --- a/c +++ b/c @@ -9,6 +9,67 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-c # @author Jerry Lee (oldratlee at gmail dot com) +readonly PROG="`basename "$0"`" + +usage() { + [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout + + > $out cat <(content="$(cat)"; echo -n "$content" | copy) + $quiet && local out=/dev/null || local out=/dev/stdout + tee >( + content="$(cat)" + echo $eol "$content" | copy + ) > $out } -[ $# -eq 0 ] && teeAndCopy || - "$@" | teeAndCopy +[ ${#args[@]} -eq 0 ] && teeAndCopy || + "${args[@]}" | teeAndCopy diff --git a/docs/shell.md b/docs/shell.md index 40c5b872..851223c1 100644 --- a/docs/shell.md +++ b/docs/shell.md @@ -51,7 +51,7 @@ 更多说明参见[拷贝复制命令行输出放在系统剪贴板上](http://oldratlee.com/post/2012-12-23/command-output-to-clip)。 -### 示例 +### 用法/示例 有3种使用风格,根据需要或是你的偏好选取。 @@ -72,13 +72,35 @@ $ echo -e 'a\nb' | nl | c $ gb | c # 3. 从标准输入读取内容。拷贝文件内容时这种方式最直接。 -$ c < id_rsa.pub -ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com +$ c < ~/.ssh/id_rsa.pub +ssh-rsa EAAAABIwAAAQEAz+ETZEgoLeIiC0rjWewdDs0sbo8c...== a@b.com + +# -q选项:拷贝但不输出。 +# 当输出内容比较多、又不关心输出内容和命令执行进展时,可以使用这个选项。 +$ c -q < ~/.ssh/id_rsa.pub + +# 帮助信息 +$ c --help +Usage: c [OPTION]... [command [command_args ...]] +Run command and put output to system clipper. +If no command is specified, read from stdin(pipe). + +Example: + c echo "hello world!" + c grep -i 'hello world' menu.h main.c + set | c + c -q < ~/.ssh/id_rsa.pub + +Options: + -k, --keep-eol do not trim new line at end of file + -q, --quiet suppress all normal output, default is false + -h, --help display this help and exit ``` ### 参考资料 -[拷贝复制命令行输出放在系统剪贴板上](http://oldratlee.com/post/2012-12-23/command-output-to-clip),给出了不同系统可用命令。 +- [拷贝复制命令行输出放在系统剪贴板上](http://oldratlee.com/post/2012-12-23/command-output-to-clip),给出了不同系统可用命令。 +- 关于文本文件最后的换行,参见[Why should text files end with a newline?](https://stackoverflow.com/questions/729692) :beer: [coat](../coat) ---------------------- From 47a8902340f10d8f88fe57a0fe58c180e34afb8f Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 2 Jan 2018 00:56:47 +0800 Subject: [PATCH 077/141] check unrecognized option --- c | 5 +++++ find-in-jars | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/c b/c index 1c4877df..a8932238 100755 --- a/c +++ b/c @@ -58,6 +58,11 @@ while [ $# -gt 0 ]; do args=("${args[@]}" "$@") break ;; + -*) + echo "${PROG}: unrecognized option '$1'" 1>&2 + echo 1>&2 + usage 2; + ;; *) # if not option, treat all follow args as command args=("${args[@]}" "$@") diff --git a/find-in-jars b/find-in-jars index 3b42dad9..374117e4 100755 --- a/find-in-jars +++ b/find-in-jars @@ -88,6 +88,11 @@ while [ $# -gt 0 ]; do args=("${args[@]}" "$@") break ;; + -*) + echo "${PROG}: unrecognized option '$1'" 1>&2 + echo 1>&2 + usage 2; + ;; *) args=("${args[@]}" "$1") shift From 867a1b5a23a55b36fc1aab8b65f39e8b41915419 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 2 Jan 2018 00:58:02 +0800 Subject: [PATCH 078/141] check pipe fail --- c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c b/c index a8932238..e17d1c55 100755 --- a/c +++ b/c @@ -9,6 +9,9 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-c # @author Jerry Lee (oldratlee at gmail dot com) +set -e +set -o pipefail + readonly PROG="`basename "$0"`" usage() { From 24c83786543d87733bbb76536e135ba3b6ccaba7 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:57:22 +0800 Subject: [PATCH 079/141] add seperator option for find-in-jars --- docs/java.md | 9 +++++---- find-in-jars | 10 ++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/java.md b/docs/java.md index 5b43fa6f..2b59adc2 100644 --- a/docs/java.md +++ b/docs/java.md @@ -358,14 +358,15 @@ Find file in the jar files under specified directory(recursive, include subdirec The pattern default is *extended* regex. Example: - find-in-jars 'log4j\.properties' - find-in-jars '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root - find-in-jars 'log4j\.properties$' -d /path/to/find/directory - find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + find-in-jars 'log4j\.properties' + find-in-jars '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root + find-in-jars 'log4j\.properties$' -d /path/to/find/directory + find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 Options: -d, --dir the directory that find jar files, default is current directory. this option can specify multiply times to find in multiply directories. + -s, --seperator seperator for jar file and file entry, default is `!'. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression diff --git a/find-in-jars b/find-in-jars index 374117e4..4f8ce386 100755 --- a/find-in-jars +++ b/find-in-jars @@ -30,6 +30,7 @@ Example: Options: -d, --dir the directory that find jar files, default is current directory. this option can specify multiply times to find in multiply directories. + -s, --seperator seperator for jar file and file entry, default is \`!'. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression @@ -56,6 +57,10 @@ while [ $# -gt 0 ]; do dirs=("${dirs[@]}" "$2") shift 2 ;; + -s|--seperator) + seperator="$2" + shift 2 + ;; -E|--extended-regexp) regex_mode=-E shift @@ -100,6 +105,7 @@ while [ $# -gt 0 ]; do esac done dirs=${dirs:-.} +seperator="${seperator:-!}" [ "${#args[@]}" -eq 0 ] && { echo "No find file pattern!" 1>&2 ; usage 1; } [ "${#args[@]}" -gt 1 ] && { echo "More than 1 file pattern!" 1>&2 ; usage 1; } @@ -207,8 +213,8 @@ while read jar_file; do clearResponsiveMessage $is_console && - echo "$ec[1;31m${jar_file}$eend$ec[1;32m"\!"$eend${file}" || - echo "${jar_file}"\!"${file}" + echo "$ec[1;31m${jar_file}${eend}${ec}[1;32m${seperator}${eend}${file}" || + echo "${jar_file}${seperator}${file}" done clearResponsiveMessage From e65f32d5415846c9f7575a644819538a0ed1dfc4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:57:45 +0800 Subject: [PATCH 080/141] add extension option for find-in-jars --- docs/java.md | 28 +++++++++++++++++++++++----- find-in-jars | 29 +++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/docs/java.md b/docs/java.md index 2b59adc2..5ae3132c 100644 --- a/docs/java.md +++ b/docs/java.md @@ -340,17 +340,27 @@ class paths to find: find-in-jars 'log4j\.properties' find-in-jars 'log4j\.xml$' find-in-jars log4j\\.xml$ # 和上面命令一样,Shell转义的不同写法而已 -find-in-jars 'log4j(\.properties|\.xml)$' +find-in-jars 'log4j\.(properties|xml)$' # -d选项 指定 查找目录(覆盖缺省的当前目录) find-in-jars 'log4j\.properties$' -d /path/to/find/directory -# 支持多个查找目录 +# 支持多个查找目录,多次指定这个选项即可 find-in-jars 'log4j\.properties' -d /path/to/find/directory1 -d /path/to/find/directory2 +# -e选项 指定 查找`zip`文件的扩展名,缺省是`jar` +find-in-jars 'log4j\.properties' -e zip +# 支持多种查找扩展名,多次指定这个选项即可 +find-in-jars 'log4j\.properties' -e jar -e zip + # -a选项 指定 查找结果中的Jar文件使用绝对路径 # 分享给别人时,Jar文件路径是完整的,方便别人找到文件 find-in-jars 'log4j\.properties' -a +# -s选项 指定 查找结果中的Jar文件和Jar文件里的查找Entry间分隔符,缺省是『!』 +# 方便你喜欢的人眼查看,或是与工具脚本如`awk`的处理 +find-in-jars 'log4j\.properties' -s ' <-> ' +find-in-jars 'log4j\.properties' -s ' ' | awk '{print $2}' + # 帮助信息 $ find-in-jars -h Usage: find-in-jars [OPTION]... PATTERN @@ -359,20 +369,28 @@ The pattern default is *extended* regex. Example: find-in-jars 'log4j\.properties' - find-in-jars '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root + find-in-jars '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root find-in-jars 'log4j\.properties$' -d /path/to/find/directory find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + find-in-jars 'log4j\.properties' -e jar -e zip + find-in-jars 'log4j\.properties' -s ' <-> ' -Options: +Find control: -d, --dir the directory that find jar files, default is current directory. this option can specify multiply times to find in multiply directories. - -s, --seperator seperator for jar file and file entry, default is `!'. + -e, --extension set find file extension, default is jar. + this option can specify multiply times to find in multiply extension. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression -i, --ignore-case ignore case distinctions + +Output control: -a, --absolute-path always print absolute path of jar file + -s, --seperator seperator for jar file and file entry, default is `!'. + +Miscellaneous: -h, --help display this help and exit ``` diff --git a/find-in-jars b/find-in-jars index 4f8ce386..50d72214 100755 --- a/find-in-jars +++ b/find-in-jars @@ -23,20 +23,28 @@ The pattern default is *extended* regex. Example: ${PROG} 'log4j\.properties' - ${PROG} '^log4j(\.properties|\.xml)$' # search file log4j.properties/log4j.xml at zip root + ${PROG} '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root ${PROG} 'log4j\.properties$' -d /path/to/find/directory ${PROG} 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + ${PROG} 'log4j\.properties' -e jar -e zip + ${PROG} 'log4j\.properties' -s ' <-> ' -Options: +Find control: -d, --dir the directory that find jar files, default is current directory. this option can specify multiply times to find in multiply directories. - -s, --seperator seperator for jar file and file entry, default is \`!'. + -e, --extension set find file extension, default is jar. + this option can specify multiply times to find in multiply extension. -E, --extended-regexp PATTERN is an extended regular expression (*default*) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression -i, --ignore-case ignore case distinctions + +Output control: -a, --absolute-path always print absolute path of jar file + -s, --seperator seperator for jar file and file entry, default is \`!'. + +Miscellaneous: -h, --help display this help and exit EOF @@ -57,6 +65,10 @@ while [ $# -gt 0 ]; do dirs=("${dirs[@]}" "$2") shift 2 ;; + -e|--extension) + extension=("${extension[@]}" "$2") + shift 2 + ;; -s|--seperator) seperator="$2" shift 2 @@ -105,6 +117,7 @@ while [ $# -gt 0 ]; do esac done dirs=${dirs:-.} +extension=${extension:-jar} seperator="${seperator:-!}" [ "${#args[@]}" -eq 0 ] && { echo "No find file pattern!" 1>&2 ; usage 1; } @@ -122,6 +135,14 @@ $use_absolute_path && { dirs=( "${tmp_dirs[@]}" ) } +# convert to find -iname options +for e in "${extension[@]}"; do + [ 0 -eq "${#find_iname_options[@]}" ] && + find_iname_options=( -iname "*.$e" ) || + find_iname_options=( "${find_iname_options[@]}" -o -iname "*.$e" ) +done + + ################################################################################ # Check the existence of command for listing zip entry! ################################################################################ @@ -194,7 +215,7 @@ clearResponsiveMessage() { # find logic ################################################################################ -readonly jar_files="$(find "${dirs[@]}" -iname '*.jar' -type f)" +readonly jar_files="$(find "${dirs[@]}" "${find_iname_options[@]}" -type f)" readonly total_count="$(echo "$jar_files" | wc -l)" [ -z "$jar_files" ] && { echo "No jar found!" 1>&2 From 5a50de875eb02c4286aac4f4fc98645db5de59e9 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:57:52 +0800 Subject: [PATCH 081/141] improve usage function to simplify exit code --- c | 6 +++--- docs/java.md | 2 +- find-in-jars | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/c b/c index e17d1c55..256e8322 100755 --- a/c +++ b/c @@ -17,6 +17,8 @@ readonly PROG="`basename "$0"`" usage() { [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout + [ $# -gt 1 ] && { echo "$2"; echo; } > $out + > $out cat <&2 - echo 1>&2 - usage 2; + usage 2 "${PROG}: unrecognized option '$1'" ;; *) # if not option, treat all follow args as command diff --git a/docs/java.md b/docs/java.md index 5ae3132c..1c33b504 100644 --- a/docs/java.md +++ b/docs/java.md @@ -371,7 +371,7 @@ Example: find-in-jars 'log4j\.properties' find-in-jars '^log4j\.(properties|xml)$' # search file log4j.properties/log4j.xml at zip root find-in-jars 'log4j\.properties$' -d /path/to/find/directory - find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d /path/to/find/dir2 + find-in-jars 'log4j\.properties' -d /path/to/find/dir1 -d path/to/find/dir2 find-in-jars 'log4j\.properties' -e jar -e zip find-in-jars 'log4j\.properties' -s ' <-> ' diff --git a/find-in-jars b/find-in-jars index 50d72214..400450f8 100755 --- a/find-in-jars +++ b/find-in-jars @@ -16,6 +16,8 @@ readonly PROG="`basename "$0"`" usage() { [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout + [ $# -gt 1 ] && { echo "$2"; echo; } > $out + > $out cat < ' @@ -106,9 +108,7 @@ while [ $# -gt 0 ]; do break ;; -*) - echo "${PROG}: unrecognized option '$1'" 1>&2 - echo 1>&2 - usage 2; + usage 2 "${PROG}: unrecognized option '$1'" ;; *) args=("${args[@]}" "$1") @@ -120,8 +120,8 @@ dirs=${dirs:-.} extension=${extension:-jar} seperator="${seperator:-!}" -[ "${#args[@]}" -eq 0 ] && { echo "No find file pattern!" 1>&2 ; usage 1; } -[ "${#args[@]}" -gt 1 ] && { echo "More than 1 file pattern!" 1>&2 ; usage 1; } +[ "${#args[@]}" -eq 0 ] && usage 1 "No find file pattern!" +[ "${#args[@]}" -gt 1 ] && usage 1 "More than 1 file pattern!" readonly pattern="${args[0]}" # convert dirs to Absolute Path. From 3de60d1b4bbf521baedc91be5666e1860fb017ac Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:57:55 +0800 Subject: [PATCH 082/141] use `if` instead `&&/||` avoid exit logic bug when "if clause" fail --- c | 7 +++++-- docs/java.md | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/c b/c index 256e8322..39f292b8 100755 --- a/c +++ b/c @@ -97,5 +97,8 @@ teeAndCopy() { ) > $out } -[ ${#args[@]} -eq 0 ] && teeAndCopy || - "${args[@]}" | teeAndCopy +if [ ${#args[@]} -eq 0 ]; then + teeAndCopy +else + "${args[@]}" | teeAndCopy +fi diff --git a/docs/java.md b/docs/java.md index 1c33b504..10581e49 100644 --- a/docs/java.md +++ b/docs/java.md @@ -32,7 +32,7 @@ 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 目前只支持`Linux`。原因是`Mac`、`Windows`的`ps`命令不支持列出线程线程,更多信息参见[#33](https://github.com/oldratlee/useful-scripts/issues/33),欢迎提供解法。 -PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的[《分布式Java应用》](https://book.douban.com/subject/4848587/)的【5.1.1 cpu消耗分析】一节,说得很详细: +PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的[《分布式Java应用》](https://book.douban.com/subject/4848587/)的【5.1.1 `CPU`消耗分析】一节,说得很详细: 1. `top`命令找出有问题`Java`进程及线程`id`: 1. 开启线程显示模式(`top -H`,或是打开`top`后按`H`) From ea83b11346446bcce2a732b543fd4722d3164bd7 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:57:57 +0800 Subject: [PATCH 083/141] parse option by hand instead of getopt, so as to support mac #66 --- xpf | 8 ++++---- xpl | 31 ++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/xpf b/xpf index c929ac87..85652989 100755 --- a/xpf +++ b/xpf @@ -1,7 +1,7 @@ #!/bin/bash # @Function -# Open file in file explorer. -# same as xpl --selected [FILE] +# Open file in file explorer, file is selected. +# same as xpl --selected [file [file ...] ] # # @Usage # $ ./xpf file @@ -9,5 +9,5 @@ # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-xpl-and-xpf # @author Jerry Lee (oldratlee at gmail dot com) -BASE=`dirname $0` -. $BASE/xpl "$@" +BASE="$(dirname "$0")" +source "$BASE/xpl" "$@" diff --git a/xpl b/xpl index beb43734..9e703721 100755 --- a/xpl +++ b/xpl @@ -3,7 +3,7 @@ # Open file in file explorer. # # @Usage -# $ ./xpf file +# $ ./xpf [file [file ...] ] # # @online-doc https://github.com/oldratlee/useful-scripts/blob/master/docs/shell.md#beer-xpl-and-xpf # @author Jerry Lee (oldratlee at gmail dot com) @@ -11,6 +11,10 @@ PROG=`basename $0` usage() { + [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout + + [ $# -gt 1 ] && { echo "$2"; echo; } > $out + cat < Date: Thu, 24 May 2018 10:57:59 +0800 Subject: [PATCH 084/141] use store dir --- show-busy-java-threads | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 94433b5b..db2606ae 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -170,10 +170,12 @@ fi # biz logic ################################################################################ -readonly uuid=`date +%s`_${RANDOM}_$$ +readonly uuid="${PROG}_`date +%s`_${RANDOM}_$$" +readonly store_dir="/tmp/${uuid}" +mkdir -p "$store_dir" cleanupWhenExit() { - rm /tmp/${uuid}_* &> /dev/null + rm -rf "$store_dir" &> /dev/null } trap "cleanupWhenExit" EXIT @@ -188,7 +190,7 @@ printStackOfThreads() { local user=${line[4]} ((counter++)) - local jstackFile=/tmp/${uuid}_${pid} + local jstackFile="$store_dir/${pid}" [ -f "${jstackFile}" ] || { if [ "${user}" == "${USER}" ]; then # run without sudo, when java process user is current user From f338ca8951663dc54fcfef20e374a7692e05fbad Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:58:00 +0800 Subject: [PATCH 085/141] use ps option to sort and filter --- show-busy-java-threads | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index db2606ae..3c9c3f95 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -237,6 +237,16 @@ headInfo() { echo } +find_top_java_thread() { + if [ -n "${pid}" ]; then + local ps_options="-p $pid" + else + local ps_options="-C java" + fi + + ps $ps_options -wwLo pid,lwp,comm,pcpu,user --sort -pcpu --no-headers | head -n "${count}" +} + # if update_count <= 0, infinite loop till user interupted (eg: CTRL+C) for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ "$i" -gt 0 ] && sleep "$update_delay" @@ -245,9 +255,5 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ "$update_count" -ne 1 ] && headInfo # use wide output(unlimited width), avoid trunk user column to username_fo+ or $uid alike - ps -wwLeo pid,lwp,comm,pcpu,user --no-headers | { - [ -z "${pid}" ] && - awk '$3=="java"{print $0}' || - awk -v "pid=${pid}" '$1==pid,$3=="java"{print $0}' - } | sort -k4,4 -r -n | head -n "${count}" | printStackOfThreads + find_top_java_thread | printStackOfThreads done From e0e44f8e4f1f8fc7733212a1bae28e52c44019e4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:58:02 +0800 Subject: [PATCH 086/141] use top command to get cpu percent #67 #23 --- show-busy-java-threads | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 3c9c3f95..90623ff3 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -181,15 +181,15 @@ trap "cleanupWhenExit" EXIT printStackOfThreads() { local line - local counter=0 + local idx=0 while IFS=" " read -a line ; do local pid=${line[0]} local threadId=${line[1]} local threadId0x="0x`printf %x ${threadId}`" - local pcpu=${line[3]} - local user=${line[4]} + local pcpu=${line[2]} + local user=${line[3]} - ((counter++)) + ((idx++)) local jstackFile="$store_dir/${pid}" [ -f "${jstackFile}" ] || { if [ "${user}" == "${USER}" ]; then @@ -200,20 +200,20 @@ printStackOfThreads() { sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} else # current user is not root user, so can not run with sudo; print error message and rerun suggestion - redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." redPrint "User of java process($user) is not current user($USER), need sudo to rerun:" yellowPrint " sudo ${COMMAND_LINE[@]}" normalPrint continue fi || { - redPrint "[$counter] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." normalPrint rm ${jstackFile} continue } } - bluePrint "[$counter] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" + bluePrint "[$idx] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" if [ -n "$mix_native_frames" ]; then local sed_script="/--------------- $threadId ---------------/,/^---------------/ { @@ -243,16 +243,35 @@ find_top_java_thread() { else local ps_options="-C java" fi + # ps output field: pid, thread id(lwp), user + local ps_out="$(ps $ps_options -wwLo pid,lwp,user --no-headers)" - ps $ps_options -wwLo pid,lwp,comm,pcpu,user --sort -pcpu --no-headers | head -n "${count}" + local idx=0 + local line + while IFS=" " read -a line ; do + (( idx < count )) || break + + local threadId=${line[0]} + local pcpu=${line[1]} + + # output field: pid, threadId, pcpu, user + local output_fields="$(echo "$ps_out" | + awk -v "threadId=$threadId" -v "pcpu=$pcpu" '$2==threadId{print $1 " " threadId " " pcpu " " $3}')" + if [ -n "$output_fields" ]; then + ((idx++)) + echo "$output_fields" + fi + done < <(top -H -b -n1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}') + # top output field: thread id, %cpu + # sort by %cpu(by option `-o %CPU`) } # if update_count <= 0, infinite loop till user interupted (eg: CTRL+C) for ((i = 0; update_count <= 0 || i < update_count; ++i)); do - [ "$i" -gt 0 ] && sleep "$update_delay" + (( i > 0 )) && sleep "$update_delay" [ -n "$append_file" ] && headInfo >> "$append_file" - [ "$update_count" -ne 1 ] && headInfo + (( update_count != 1 )) && headInfo # use wide output(unlimited width), avoid trunk user column to username_fo+ or $uid alike find_top_java_thread | printStackOfThreads From 41ea65806f27e728b51c46254d8d1536025f49ae Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:58:04 +0800 Subject: [PATCH 087/141] add option use-ps --- show-busy-java-threads | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 90623ff3..759c4cf5 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -78,6 +78,10 @@ Options: -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log -s, --jstack-path specify the path of jstack command + -P, --use-ps use ps command to find busy thead(cpu usage) instead of top command, + default use top command, because cpu usage of ps command is expressed as + the percentage of time spent running during the entire lifetime of a process, + this is not ideal. -F, --force set jstack to force a thread dump use when jstack does not respond (process is hung) -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) @@ -101,7 +105,7 @@ uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support # parse options ################################################################################ -readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:Fmlh -l count:,pid:,append-file:,jstack-path:,force,mix-native-frames,lock-info,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:PFmlh -l count:,pid:,append-file:,jstack-path:,use-ps,force,mix-native-frames,lock-info,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -123,17 +127,21 @@ while true; do jstack_path="$2" shift 2 ;; + -P|--use-ps) + use_ps=true + shift + ;; -F|--force) force=-F - shift 1 + shift ;; -m|--mix-native-frames) mix_native_frames=-m - shift 1 + shift ;; -l|--lock-info) more_lock_info=-l - shift 1 + shift ;; -h|--help) usage @@ -145,10 +153,11 @@ while true; do esac done count=${count:-5} +use_ps=${use_ps:-false} update_delay=${1:-0} [ -z "$1" ] && update_count=1 || update_count=${2:-0} -[ $update_count -lt 0 ] && update_count=0 +(( update_count < 0 )) && update_count=0 ################################################################################ # check the existence of jstack command @@ -237,7 +246,21 @@ headInfo() { echo } -find_top_java_thread() { +# output field: pid, thread id(lwp), pcpu, user +# order by pcpu(percentage of cpu usage) +findBusyJavaThreadByPs() { + if [ -n "${pid}" ]; then + local ps_options="-p $pid" + else + local ps_options="-C java" + fi + # sort by %cpu(by option `--sort -pcpu`) + # use wide output(unlimited width), avoid trunk user column to username_fo+ or $uid alike + ps $ps_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers | head -n "${count}" +} + +# output is same as function findBusyJavaThreadByPs +findBusyJavaThreadByTop() { if [ -n "${pid}" ]; then local ps_options="-p $pid" else @@ -273,6 +296,9 @@ for ((i = 0; update_count <= 0 || i < update_count; ++i)); do [ -n "$append_file" ] && headInfo >> "$append_file" (( update_count != 1 )) && headInfo - # use wide output(unlimited width), avoid trunk user column to username_fo+ or $uid alike - find_top_java_thread | printStackOfThreads + if $use_ps; then + findBusyJavaThreadByPs + else + findBusyJavaThreadByTop + fi | printStackOfThreads done From 8530006834bcac0a7158e0f2ef3b8bcc29785142 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:58:08 +0800 Subject: [PATCH 088/141] update update doc java.md --- docs/java.md | 4 ++++ show-busy-java-threads | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/java.md b/docs/java.md index 10581e49..a1350528 100644 --- a/docs/java.md +++ b/docs/java.md @@ -98,6 +98,10 @@ Options: default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log + -P, --use-ps use ps command to find busy thead(cpu usage) instead of top command, + default use top command, because cpu usage of ps command is expressed as + the percentage of time spent running during the entire lifetime of a process, + this is not ideal. -s, --jstack-path specify the path of jstack command -F, --force set jstack to force a thread dump use when jstack does not respond (process is hung) diff --git a/show-busy-java-threads b/show-busy-java-threads index 759c4cf5..a5e52ed8 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -77,11 +77,11 @@ Options: default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log - -s, --jstack-path specify the path of jstack command -P, --use-ps use ps command to find busy thead(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as the percentage of time spent running during the entire lifetime of a process, this is not ideal. + -s, --jstack-path specify the path of jstack command -F, --force set jstack to force a thread dump use when jstack does not respond (process is hung) -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) From 7321d816781d6d7dd0caccb77db96d49e4023246 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 10:58:12 +0800 Subject: [PATCH 089/141] change HOME env var for running top --- show-busy-java-threads | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index a5e52ed8..e3570936 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -284,9 +284,12 @@ findBusyJavaThreadByTop() { ((idx++)) echo "$output_fields" fi - done < <(top -H -b -n1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}') + done < <(HOME="$store_dir" top -H -b -n1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}') # top output field: thread id, %cpu # sort by %cpu(by option `-o %CPU`) + # NOTE: + # change HOME env var for running top + # so as to avoid .toprc user config file change top command output unexpectedly } # if update_count <= 0, infinite loop till user interupted (eg: CTRL+C) From 598ae9445acee5c54b825d0ccc1d4b44bdd5b1d2 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 23 May 2018 14:11:10 +0800 Subject: [PATCH 090/141] clean code; improve comments --- show-busy-java-threads | 62 ++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index e3570936..b1a1a3a2 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -17,7 +17,7 @@ readonly -a COMMAND_LINE=("$0" "$@") readonly USER="`whoami`" ################################################################################ -# util funtions +# util functions ################################################################################ # NOTE: $'foo' is the escape sequence syntax of bash @@ -189,14 +189,14 @@ cleanupWhenExit() { trap "cleanupWhenExit" EXIT printStackOfThreads() { - local line + local -a line local idx=0 while IFS=" " read -a line ; do - local pid=${line[0]} - local threadId=${line[1]} + local pid="${line[0]}" + local threadId="${line[1]}" local threadId0x="0x`printf %x ${threadId}`" - local pcpu=${line[2]} - local user=${line[3]} + local pcpu="${line[2]}" + local user="${line[3]}" ((idx++)) local jstackFile="$store_dir/${pid}" @@ -248,60 +248,62 @@ headInfo() { # output field: pid, thread id(lwp), pcpu, user # order by pcpu(percentage of cpu usage) -findBusyJavaThreadByPs() { +findBusyJavaThreadsByPs() { if [ -n "${pid}" ]; then - local ps_options="-p $pid" + local -r ps_options="-p $pid" else - local ps_options="-C java" + local -r ps_options="-C java" fi - # sort by %cpu(by option `--sort -pcpu`) - # use wide output(unlimited width), avoid trunk user column to username_fo+ or $uid alike + # 1. sort by %cpu by ps option `--sort -pcpu` + # 2. use wide output(unlimited width) by ps option `-ww` + # avoid trunk user column to username_fo+ or $uid alike ps $ps_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers | head -n "${count}" } -# output is same as function findBusyJavaThreadByPs -findBusyJavaThreadByTop() { +# output is same as function findBusyJavaThreadsByPs +findBusyJavaThreadsByTop() { if [ -n "${pid}" ]; then - local ps_options="-p $pid" + local -r ps_options="-p $pid" else - local ps_options="-C java" + local -r ps_options="-C java" fi # ps output field: pid, thread id(lwp), user - local ps_out="$(ps $ps_options -wwLo pid,lwp,user --no-headers)" + local -r ps_out="$(ps $ps_options -wwLo pid,lwp,user --no-headers)" local idx=0 - local line + local -a line while IFS=" " read -a line ; do (( idx < count )) || break - local threadId=${line[0]} - local pcpu=${line[1]} + local threadId="${line[0]}" + local pcpu="${line[1]}" # output field: pid, threadId, pcpu, user - local output_fields="$(echo "$ps_out" | - awk -v "threadId=$threadId" -v "pcpu=$pcpu" '$2==threadId{print $1 " " threadId " " pcpu " " $3}')" + local output_fields="$( echo "$ps_out" | + awk -v "threadId=$threadId" -v "pcpu=$pcpu" '$2==threadId { + print $1 " " threadId " " pcpu " " $3; exit + }' )" if [ -n "$output_fields" ]; then ((idx++)) echo "$output_fields" fi - done < <(HOME="$store_dir" top -H -b -n1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}') + done < <(HOME="$store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}') # top output field: thread id, %cpu - # sort by %cpu(by option `-o %CPU`) - # NOTE: - # change HOME env var for running top - # so as to avoid .toprc user config file change top command output unexpectedly + # 1. sort by %cpu by top option `-o %CPU` + # 2. change HOME env var for running top, + # so as to prevent top command output format being change by .toprc user config file unexpectedly } -# if update_count <= 0, infinite loop till user interupted (eg: CTRL+C) -for ((i = 0; update_count <= 0 || i < update_count; ++i)); do +# if update_count <= 0, infinite loop till user interrupted (eg: CTRL+C) +for (( i = 0; update_count <= 0 || i < update_count; ++i )); do (( i > 0 )) && sleep "$update_delay" [ -n "$append_file" ] && headInfo >> "$append_file" (( update_count != 1 )) && headInfo if $use_ps; then - findBusyJavaThreadByPs + findBusyJavaThreadsByPs else - findBusyJavaThreadByTop + findBusyJavaThreadsByTop fi | printStackOfThreads done From c0723d76d9d8fb62b4768ea55137c0b90ebab2f6 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 23 May 2018 14:34:42 +0800 Subject: [PATCH 091/141] compatible with top version 3.2 --- show-busy-java-threads | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index b1a1a3a2..149650c3 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -287,9 +287,15 @@ findBusyJavaThreadsByTop() { ((idx++)) echo "$output_fields" fi - done < <(HOME="$store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}') + done < <(HOME="$store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr) # top output field: thread id, %cpu + # # 1. sort by %cpu by top option `-o %CPU` + # unfortunately, top version 3.2 not supports -o option(supports from top version 3.3+), + # use + # HOME="$store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr + # instead of + # HOME="$store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' # 2. change HOME env var for running top, # so as to prevent top command output format being change by .toprc user config file unexpectedly } From b5766a5b078f94a24aef7757ab397c6642c3bb99 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 23 May 2018 14:58:50 +0800 Subject: [PATCH 092/141] improve output color --- show-busy-java-threads | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 149650c3..59c23ea9 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -24,13 +24,19 @@ readonly USER="`whoami`" readonly ec=$'\033' # escape char readonly eend=$'\033[0m' # escape end -colorPrint() { +colorEcho() { local color=$1 shift # if stdout is console, turn on color output. [ -t 1 ] && echo "$ec[1;${color}m$@$eend" || echo "$@" +} + +colorPrint() { + local color=$1 + shift + colorEcho "$color" "$@" [ -n "$append_file" ] && echo "$@" >> "$append_file" } @@ -240,9 +246,9 @@ printStackOfThreads() { } headInfo() { - echo ================================================================================ + colorEcho "0;34;42" ================================================================================ echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$((i+1))/$update_count]: ${COMMAND_LINE[@]}" - echo ================================================================================ + colorEcho "0;34;42" ================================================================================ echo } From e47f67d220240c3b0937a5bfaecffc7cec3c2e24 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 15:55:04 +0800 Subject: [PATCH 093/141] fix typo --- docs/java.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java.md b/docs/java.md index a1350528..31476361 100644 --- a/docs/java.md +++ b/docs/java.md @@ -30,7 +30,7 @@ ---------------------- 用于快速排查`Java`的`CPU`性能问题(`top us`值过高),自动查出运行的`Java`进程中消耗`CPU`多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 -目前只支持`Linux`。原因是`Mac`、`Windows`的`ps`命令不支持列出线程线程,更多信息参见[#33](https://github.com/oldratlee/useful-scripts/issues/33),欢迎提供解法。 +目前只支持`Linux`。原因是`Mac`、`Windows`的`ps`命令不支持列出进程的线程`id`,更多信息参见[#33](https://github.com/oldratlee/useful-scripts/issues/33),欢迎提供解法。 PS,如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的[《分布式Java应用》](https://book.douban.com/subject/4848587/)的【5.1.1 `CPU`消耗分析】一节,说得很详细: From 4d1d33147d73972dbf80eb292e04de93e7ffc3ca Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 24 May 2018 16:23:32 +0800 Subject: [PATCH 094/141] fix bug: should re-jstack when next update --- show-busy-java-threads | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 59c23ea9..029e5fa8 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -188,6 +188,7 @@ fi readonly uuid="${PROG}_`date +%s`_${RANDOM}_$$" readonly store_dir="/tmp/${uuid}" mkdir -p "$store_dir" +readonly jstack_file_path_prefix="$store_dir/jstack_" cleanupWhenExit() { rm -rf "$store_dir" &> /dev/null @@ -204,8 +205,8 @@ printStackOfThreads() { local pcpu="${line[2]}" local user="${line[3]}" - ((idx++)) - local jstackFile="$store_dir/${pid}" + (( idx++ )) + local jstackFile="$jstack_file_path_prefix${pid}" [ -f "${jstackFile}" ] || { if [ "${user}" == "${USER}" ]; then # run without sudo, when java process user is current user @@ -243,11 +244,14 @@ printStackOfThreads() { fi sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} done + + # rm stack files, so as to re-jstack at next update + rm "$jstack_file_path_prefix"* &> /dev/null } headInfo() { colorEcho "0;34;42" ================================================================================ - echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$((i+1))/$update_count]: ${COMMAND_LINE[@]}" + echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$(( i + 1 ))/$update_count]: ${COMMAND_LINE[@]}" colorEcho "0;34;42" ================================================================================ echo } @@ -290,19 +294,19 @@ findBusyJavaThreadsByTop() { print $1 " " threadId " " pcpu " " $3; exit }' )" if [ -n "$output_fields" ]; then - ((idx++)) + (( idx++ )) echo "$output_fields" fi done < <(HOME="$store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr) # top output field: thread id, %cpu # # 1. sort by %cpu by top option `-o %CPU` - # unfortunately, top version 3.2 not supports -o option(supports from top version 3.3+), + # unfortunately, top version 3.2 does not support -o option(supports from top version 3.3+), # use # HOME="$store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr # instead of # HOME="$store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' - # 2. change HOME env var for running top, + # 2. change HOME env var when run top, # so as to prevent top command output format being change by .toprc user config file unexpectedly } From 63848a29e5333111a73a15e00d759438d407e724 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 25 May 2018 12:28:25 +0800 Subject: [PATCH 095/141] improve jstack file name format --- show-busy-java-threads | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 029e5fa8..2a69622b 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -185,7 +185,8 @@ fi # biz logic ################################################################################ -readonly uuid="${PROG}_`date +%s`_${RANDOM}_$$" +readonly run_timestamp="`date "+%Y-%m-%d_%H:%M:%S.%N"`" +readonly uuid="${PROG}_${run_timestamp}_${RANDOM}_$$" readonly store_dir="/tmp/${uuid}" mkdir -p "$store_dir" readonly jstack_file_path_prefix="$store_dir/jstack_" @@ -196,6 +197,8 @@ cleanupWhenExit() { trap "cleanupWhenExit" EXIT printStackOfThreads() { + local update_round_num="$1" + local -a line local idx=0 while IFS=" " read -a line ; do @@ -206,7 +209,7 @@ printStackOfThreads() { local user="${line[3]}" (( idx++ )) - local jstackFile="$jstack_file_path_prefix${pid}" + local jstackFile="$jstack_file_path_prefix${update_round_num}_${pid}" [ -f "${jstackFile}" ] || { if [ "${user}" == "${USER}" ]; then # run without sudo, when java process user is current user @@ -244,9 +247,6 @@ printStackOfThreads() { fi sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} done - - # rm stack files, so as to re-jstack at next update - rm "$jstack_file_path_prefix"* &> /dev/null } headInfo() { @@ -321,5 +321,5 @@ for (( i = 0; update_count <= 0 || i < update_count; ++i )); do findBusyJavaThreadsByPs else findBusyJavaThreadsByTop - fi | printStackOfThreads + fi | printStackOfThreads $(( i + 1 )) done From 13b73e6506807a4b8c3ff968537793773de8d9ac Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 25 May 2018 21:20:09 +0800 Subject: [PATCH 096/141] add option -S, --jstack-file-dir for show-busy-java-threads --- c | 8 ++++--- find-in-jars | 6 ++++-- show-busy-java-threads | 48 ++++++++++++++++++++++++++++++++---------- 3 files changed, 46 insertions(+), 16 deletions(-) diff --git a/c b/c index 39f292b8..e5a7221e 100755 --- a/c +++ b/c @@ -15,9 +15,11 @@ set -o pipefail readonly PROG="`basename "$0"`" usage() { - [ -n "$1" -a "$1" != 0 ] && local out=/dev/stderr || local out=/dev/stdout + local -r exit_code="$1" + shift + [ -n "$exit_code" -a "$exit_code" != 0 ] && local -r out=/dev/stderr || local -r out=/dev/stdout - [ $# -gt 1 ] && { echo "$2"; echo; } > $out + (( $# > 0 )) && { echo "$@"; echo; } > $out > $out cat < $out + (( $# > 0 )) && { echo "$@"; echo; } > $out > $out cat < 0 )) && { echo "$@"; echo; } > $out > $out cat < specify the path of jstack command + -S, --jstack-file-dir specify the dir for storing jstack output files, and keep files. + default store jstack output files at tmp dir, and auto remove after run. + use this option to keep files so as to review jstack later. -F, --force set jstack to force a thread dump use when jstack does not respond (process is hung) -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) @@ -98,7 +105,7 @@ Options: delay/count arguments imitates the style of vmstat command EOF - exit $1 + exit $exit_code } ################################################################################ @@ -111,7 +118,7 @@ uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support # parse options ################################################################################ -readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:PFmlh -l count:,pid:,append-file:,jstack-path:,use-ps,force,mix-native-frames,lock-info,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:PFmlh -l count:,pid:,append-file:,jstack-path:,jstack-file-dir:,use-ps,force,mix-native-frames,lock-info,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -133,6 +140,10 @@ while true; do jstack_path="$2" shift 2 ;; + -S|--jstack-file-dir) + jstack_file_dir="$2" + shift 2 + ;; -P|--use-ps) use_ps=true shift @@ -161,6 +172,15 @@ done count=${count:-5} use_ps=${use_ps:-false} +if [ -n "$jstack_file_dir" -a -e "$jstack_file_dir" ]; then + if [ ! -d "$jstack_file_dir" ]; then + usage 1 "$jstack_file_dir exists but is not a directory!" + fi + if [ ! -w "$jstack_file_dir" ]; then + usage 1 "$jstack_file_dir directory exists but is not writable!" + fi +fi + update_delay=${1:-0} [ -z "$1" ] && update_count=1 || update_count=${2:-0} (( update_count < 0 )) && update_count=0 @@ -187,12 +207,18 @@ fi readonly run_timestamp="`date "+%Y-%m-%d_%H:%M:%S.%N"`" readonly uuid="${PROG}_${run_timestamp}_${RANDOM}_$$" -readonly store_dir="/tmp/${uuid}" -mkdir -p "$store_dir" -readonly jstack_file_path_prefix="$store_dir/jstack_" +readonly tmp_store_dir="/tmp/${uuid}" +mkdir -p "$tmp_store_dir" + +if [ -n "$jstack_file_dir" ]; then + mkdir -p "$jstack_file_dir" + readonly jstack_file_path_prefix="$jstack_file_dir/jstack_${run_timestamp}_" +else + readonly jstack_file_path_prefix="$tmp_store_dir/jstack_${run_timestamp}_" +fi cleanupWhenExit() { - rm -rf "$store_dir" &> /dev/null + rm -rf "$tmp_store_dir" &> /dev/null } trap "cleanupWhenExit" EXIT @@ -227,7 +253,7 @@ printStackOfThreads() { fi || { redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." normalPrint - rm ${jstackFile} + rm "${jstackFile}" &> /dev/null continue } } @@ -297,15 +323,15 @@ findBusyJavaThreadsByTop() { (( idx++ )) echo "$output_fields" fi - done < <(HOME="$store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr) + done < <(HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr) # top output field: thread id, %cpu # # 1. sort by %cpu by top option `-o %CPU` # unfortunately, top version 3.2 does not support -o option(supports from top version 3.3+), # use - # HOME="$store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr + # HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr # instead of - # HOME="$store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' + # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' # 2. change HOME env var when run top, # so as to prevent top command output format being change by .toprc user config file unexpectedly } From 953487fff348be3a4bf68503d512c922d193729d Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 25 May 2018 22:20:51 +0800 Subject: [PATCH 097/141] fix typo; update docs --- docs/java.md | 5 ++++- show-busy-java-threads | 27 +++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/docs/java.md b/docs/java.md index 31476361..d2d1c829 100644 --- a/docs/java.md +++ b/docs/java.md @@ -98,11 +98,14 @@ Options: default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log - -P, --use-ps use ps command to find busy thead(cpu usage) instead of top command, + -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as the percentage of time spent running during the entire lifetime of a process, this is not ideal. -s, --jstack-path specify the path of jstack command + -S, --jstack-file-dir specify the dir for storing jstack output files, and keep files. + default store jstack output files at tmp dir, and auto remove after run. + use this option to keep files so as to review jstack later. -F, --force set jstack to force a thread dump use when jstack does not respond (process is hung) -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) diff --git a/show-busy-java-threads b/show-busy-java-threads index ef94aedc..fe801329 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -87,7 +87,7 @@ Options: default from all java process. -c, --count set the thread count to show, default is 5 -a, --append-file specify the file to append output as log - -P, --use-ps use ps command to find busy thead(cpu usage) instead of top command, + -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as the percentage of time spent running during the entire lifetime of a process, this is not ideal. @@ -296,6 +296,19 @@ findBusyJavaThreadsByPs() { ps $ps_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers | head -n "${count}" } +# top with output field: thread id, %cpu +__top_threadId_cpu() { + # 1. sort by %cpu by top option `-o %CPU` + # unfortunately, top version 3.2 does not support -o option(supports from top version 3.3+), + # use + # HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr + # instead of + # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' + # 2. change HOME env var when run top, + # so as to prevent top command output format being change by .toprc user config file unexpectedly + HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr +} + # output is same as function findBusyJavaThreadsByPs findBusyJavaThreadsByTop() { if [ -n "${pid}" ]; then @@ -323,17 +336,7 @@ findBusyJavaThreadsByTop() { (( idx++ )) echo "$output_fields" fi - done < <(HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr) - # top output field: thread id, %cpu - # - # 1. sort by %cpu by top option `-o %CPU` - # unfortunately, top version 3.2 does not support -o option(supports from top version 3.3+), - # use - # HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr - # instead of - # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' - # 2. change HOME env var when run top, - # so as to prevent top command output format being change by .toprc user config file unexpectedly + done < <( __top_threadId_cpu ) } # if update_count <= 0, infinite loop till user interrupted (eg: CTRL+C) From 5f1c5cc6393752d17e6f058f603f18fe9f059108 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 25 May 2018 22:35:02 +0800 Subject: [PATCH 098/141] use second time update data of top, to get cpu percentage of thread in 0.1 second interval --- show-busy-java-threads | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index fe801329..e786fb6b 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -301,12 +301,25 @@ __top_threadId_cpu() { # 1. sort by %cpu by top option `-o %CPU` # unfortunately, top version 3.2 does not support -o option(supports from top version 3.3+), # use - # HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr + # HOME="$tmp_store_dir" top -H -b -n 1 + # combined + # sort # instead of - # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' | awk '$NF=="java"{print $1 " " $9}' + # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' # 2. change HOME env var when run top, # so as to prevent top command output format being change by .toprc user config file unexpectedly - HOME="$tmp_store_dir" top -H -b -n 1 | awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr + # 3. use option `-d 0.1`(interval 0.1 second) and `-n 2`(show 2 times), and use second time update data + # to get cpu percentage of thread in 0.1 second interval + HOME="$tmp_store_dir" top -H -b -d 0.1 -n 2 | + awk '{ + if (idx == 3 && $0 != "") + # only print 4th text block + # aka. process info of second top update + print + if($0 == "") + idx++ + }' | + awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr } # output is same as function findBusyJavaThreadsByPs From 0e74f68099321c7b589154dde7b141d723656845 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 25 May 2018 23:17:59 +0800 Subject: [PATCH 099/141] add -d|--top-delay option --- docs/java.md | 29 ++++++++++++++++------------- show-busy-java-threads | 38 +++++++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/docs/java.md b/docs/java.md index d2d1c829..c434f397 100644 --- a/docs/java.md +++ b/docs/java.md @@ -94,26 +94,29 @@ Example: show-busy-java-threads 3 10 # update every 3 seconds, update 10 times Options: - -p, --pid find out the highest cpu consumed threads from the specifed java process, + -p, --pid find out the highest cpu consumed threads from the specified java process, default from all java process. - -c, --count set the thread count to show, default is 5 - -a, --append-file specify the file to append output as log + -c, --count set the thread count to show, default is 5. + -a, --append-file specifies the file to append output as log. -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as the percentage of time spent running during the entire lifetime of a process, this is not ideal. - -s, --jstack-path specify the path of jstack command - -S, --jstack-file-dir specify the dir for storing jstack output files, and keep files. + -d, --top-delay specifies the delay between top samples, default is 0.5 (second). + get thread cpu percentage during this delay interval. + more info see top -d option. eg: -d 1 (1 second). + -s, --jstack-path specifies the path of jstack command. + -S, --jstack-file-dir specifies the dir for storing jstack output files, and keep files. default store jstack output files at tmp dir, and auto remove after run. use this option to keep files so as to review jstack later. - -F, --force set jstack to force a thread dump - use when jstack does not respond (process is hung) - -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) - -l, --lock-info set jstack with long listing. Prints additional information about locks - -h, --help display this help and exit - delay the delay between updates in seconds - count the number of updates - delay/count arguments imitates the style of vmstat command + -F, --force set jstack to force a thread dump. + use when jstack does not respond (process is hung). + -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). + -l, --lock-info set jstack with long listing. Prints additional information about locks. + -h, --help display this help and exit. + delay the delay between updates in seconds. + count the number of updates. + delay/count arguments imitates the style of vmstat command. ``` ### 示例 diff --git a/show-busy-java-threads b/show-busy-java-threads index e786fb6b..196fe8be 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -83,26 +83,29 @@ Example: ${PROG} 3 10 # update every 3 seconds, update 10 times Options: - -p, --pid find out the highest cpu consumed threads from the specifed java process, + -p, --pid find out the highest cpu consumed threads from the specified java process, default from all java process. - -c, --count set the thread count to show, default is 5 - -a, --append-file specify the file to append output as log + -c, --count set the thread count to show, default is 5. + -a, --append-file specifies the file to append output as log. -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, default use top command, because cpu usage of ps command is expressed as the percentage of time spent running during the entire lifetime of a process, this is not ideal. - -s, --jstack-path specify the path of jstack command - -S, --jstack-file-dir specify the dir for storing jstack output files, and keep files. + -d, --top-delay specifies the delay between top samples, default is 0.5 (second). + get thread cpu percentage during this delay interval. + more info see top -d option. eg: -d 1 (1 second). + -s, --jstack-path specifies the path of jstack command. + -S, --jstack-file-dir specifies the dir for storing jstack output files, and keep files. default store jstack output files at tmp dir, and auto remove after run. use this option to keep files so as to review jstack later. - -F, --force set jstack to force a thread dump - use when jstack does not respond (process is hung) - -m, --mix-native-frames set jstack to print both java and native frames (mixed mode) - -l, --lock-info set jstack with long listing. Prints additional information about locks - -h, --help display this help and exit - delay the delay between updates in seconds - count the number of updates - delay/count arguments imitates the style of vmstat command + -F, --force set jstack to force a thread dump. + use when jstack does not respond (process is hung). + -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). + -l, --lock-info set jstack with long listing. Prints additional information about locks. + -h, --help display this help and exit. + delay the delay between updates in seconds. + count the number of updates. + delay/count arguments imitates the style of vmstat command. EOF exit $exit_code @@ -118,7 +121,7 @@ uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support # parse options ################################################################################ -readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:PFmlh -l count:,pid:,append-file:,jstack-path:,jstack-file-dir:,use-ps,force,mix-native-frames,lock-info,help -- "$@"` +readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:Pd:Fmlh -l count:,pid:,append-file:,jstack-path:,jstack-file-dir:,use-ps,top-delay:,force,mix-native-frames,lock-info,help -- "$@"` [ $? -ne 0 ] && usage 1 eval set -- "${ARGS}" @@ -148,6 +151,10 @@ while true; do use_ps=true shift ;; + -d|--top-delay) + top_delay="$2" + shift 2 + ;; -F|--force) force=-F shift @@ -171,6 +178,7 @@ while true; do done count=${count:-5} use_ps=${use_ps:-false} +top_delay=${top_delay:-0.5} if [ -n "$jstack_file_dir" -a -e "$jstack_file_dir" ]; then if [ ! -d "$jstack_file_dir" ]; then @@ -310,7 +318,7 @@ __top_threadId_cpu() { # so as to prevent top command output format being change by .toprc user config file unexpectedly # 3. use option `-d 0.1`(interval 0.1 second) and `-n 2`(show 2 times), and use second time update data # to get cpu percentage of thread in 0.1 second interval - HOME="$tmp_store_dir" top -H -b -d 0.1 -n 2 | + HOME="$tmp_store_dir" top -H -b -d $top_delay -n 2 | awk '{ if (idx == 3 && $0 != "") # only print 4th text block From b155a465d76d5d8fadc6ca45ee987453a405e51b Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 21:33:44 +0800 Subject: [PATCH 100/141] refactor: use one awk command instead two successive awk --- show-busy-java-threads | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 196fe8be..dd26ed07 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -316,21 +316,20 @@ __top_threadId_cpu() { # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' # 2. change HOME env var when run top, # so as to prevent top command output format being change by .toprc user config file unexpectedly - # 3. use option `-d 0.1`(interval 0.1 second) and `-n 2`(show 2 times), and use second time update data - # to get cpu percentage of thread in 0.1 second interval + # 3. use option `-d 0.5`(interval 0.5 second) and `-n 2`(show 2 times), and use second time update data + # to get cpu percentage of thread in 0.5 second interval HOME="$tmp_store_dir" top -H -b -d $top_delay -n 2 | awk '{ - if (idx == 3 && $0 != "") - # only print 4th text block - # aka. process info of second top update - print + if (idx == 3 && $NF == "java") # $NF is command + # only print 4th text block(idx == 3) + # aka. process info of second top update + print $1 " " $9 # $1 is thread id, $9 is %cpu if($0 == "") idx++ - }' | - awk '$NF=="java"{print $1 " " $9}' | sort -k2,2nr + }' | sort -k2,2nr } -# output is same as function findBusyJavaThreadsByPs +# output format is same as function findBusyJavaThreadsByPs findBusyJavaThreadsByTop() { if [ -n "${pid}" ]; then local -r ps_options="-p $pid" From 695d47fadd3713a3fc55c7dd8416c6a397728a70 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 21:34:31 +0800 Subject: [PATCH 101/141] clean code: reorder functions --- show-busy-java-threads | 106 ++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index dd26ed07..26d63940 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -230,59 +230,6 @@ cleanupWhenExit() { } trap "cleanupWhenExit" EXIT -printStackOfThreads() { - local update_round_num="$1" - - local -a line - local idx=0 - while IFS=" " read -a line ; do - local pid="${line[0]}" - local threadId="${line[1]}" - local threadId0x="0x`printf %x ${threadId}`" - local pcpu="${line[2]}" - local user="${line[3]}" - - (( idx++ )) - local jstackFile="$jstack_file_path_prefix${update_round_num}_${pid}" - [ -f "${jstackFile}" ] || { - if [ "${user}" == "${USER}" ]; then - # run without sudo, when java process user is current user - "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} - elif [ $UID == 0 ]; then - # if java process user is not current user, must run jstack with sudo - sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} - else - # current user is not root user, so can not run with sudo; print error message and rerun suggestion - redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - redPrint "User of java process($user) is not current user($USER), need sudo to rerun:" - yellowPrint " sudo ${COMMAND_LINE[@]}" - normalPrint - continue - fi || { - redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." - normalPrint - rm "${jstackFile}" &> /dev/null - continue - } - } - - bluePrint "[$idx] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" - - if [ -n "$mix_native_frames" ]; then - local sed_script="/--------------- $threadId ---------------/,/^---------------/ { - /--------------- $threadId ---------------/b # skip first seperator line - /^---------------/s/.*// # replace sencond seperator line to empty line - p - }" - elif [ -n "$force" ]; then - local sed_script="/^Thread ${threadId}:/,/^$/p" - else - local sed_script="/nid=${threadId0x} /,/^$/p" - fi - sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} - done -} - headInfo() { colorEcho "0;34;42" ================================================================================ echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$(( i + 1 ))/$update_count]: ${COMMAND_LINE[@]}" @@ -359,6 +306,59 @@ findBusyJavaThreadsByTop() { done < <( __top_threadId_cpu ) } +printStackOfThreads() { + local update_round_num="$1" + + local -a line + local idx=0 + while IFS=" " read -a line ; do + local pid="${line[0]}" + local threadId="${line[1]}" + local threadId0x="0x`printf %x ${threadId}`" + local pcpu="${line[2]}" + local user="${line[3]}" + + (( idx++ )) + local jstackFile="$jstack_file_path_prefix${update_round_num}_${pid}" + [ -f "${jstackFile}" ] || { + if [ "${user}" == "${USER}" ]; then + # run without sudo, when java process user is current user + "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} + elif [ $UID == 0 ]; then + # if java process user is not current user, must run jstack with sudo + sudo -u "${user}" "$jstack_path" ${force} $mix_native_frames $more_lock_info ${pid} > ${jstackFile} + else + # current user is not root user, so can not run with sudo; print error message and rerun suggestion + redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + redPrint "User of java process($user) is not current user($USER), need sudo to rerun:" + yellowPrint " sudo ${COMMAND_LINE[@]}" + normalPrint + continue + fi || { + redPrint "[$idx] Fail to jstack busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user})." + normalPrint + rm "${jstackFile}" &> /dev/null + continue + } + } + + bluePrint "[$idx] Busy(${pcpu}%) thread(${threadId}/${threadId0x}) stack of java process(${pid}) under user(${user}):" + + if [ -n "$mix_native_frames" ]; then + local sed_script="/--------------- $threadId ---------------/,/^---------------/ { + /--------------- $threadId ---------------/b # skip first seperator line + /^---------------/s/.*// # replace sencond seperator line to empty line + p + }" + elif [ -n "$force" ]; then + local sed_script="/^Thread ${threadId}:/,/^$/p" + else + local sed_script="/nid=${threadId0x} /,/^$/p" + fi + sed "$sed_script" -n ${jstackFile} | tee ${append_file:+-a "$append_file"} + done +} + # if update_count <= 0, infinite loop till user interrupted (eg: CTRL+C) for (( i = 0; update_count <= 0 || i < update_count; ++i )); do (( i > 0 )) && sleep "$update_delay" From d2071aaba8725869a454ead10a843abc71014cde Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 21:38:08 +0800 Subject: [PATCH 102/141] clean code: main function style --- show-busy-java-threads | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 26d63940..7fdb52df 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -230,6 +230,7 @@ cleanupWhenExit() { } trap "cleanupWhenExit" EXIT + headInfo() { colorEcho "0;34;42" ================================================================================ echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$(( i + 1 ))/$update_count]: ${COMMAND_LINE[@]}" @@ -271,7 +272,7 @@ __top_threadId_cpu() { # only print 4th text block(idx == 3) # aka. process info of second top update print $1 " " $9 # $1 is thread id, $9 is %cpu - if($0 == "") + if ($0 == "") idx++ }' | sort -k2,2nr } @@ -359,16 +360,25 @@ printStackOfThreads() { done } -# if update_count <= 0, infinite loop till user interrupted (eg: CTRL+C) -for (( i = 0; update_count <= 0 || i < update_count; ++i )); do - (( i > 0 )) && sleep "$update_delay" +################################################################################ +# Main +################################################################################ - [ -n "$append_file" ] && headInfo >> "$append_file" - (( update_count != 1 )) && headInfo +main() { + local i + # if update_count <= 0, infinite loop till user interrupted (eg: CTRL+C) + for (( i = 0; update_count <= 0 || i < update_count; ++i )); do + (( i > 0 )) && sleep "$update_delay" - if $use_ps; then - findBusyJavaThreadsByPs - else - findBusyJavaThreadsByTop - fi | printStackOfThreads $(( i + 1 )) -done + [ -n "$append_file" ] && headInfo >> "$append_file" + (( update_count != 1 )) && headInfo + + if $use_ps; then + findBusyJavaThreadsByPs + else + findBusyJavaThreadsByTop + fi | printStackOfThreads $(( i + 1 )) + done +} + +main \ No newline at end of file From 73d180406313c71ab672ee942f578b0ffa80db32 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 22:21:09 +0800 Subject: [PATCH 103/141] improve show-busy-java-threads help format --- docs/java.md | 37 +++++++++++++++++++++++-------------- show-busy-java-threads | 30 ++++++++++++++++++------------ 2 files changed, 41 insertions(+), 26 deletions(-) diff --git a/docs/java.md b/docs/java.md index c434f397..62f55467 100644 --- a/docs/java.md +++ b/docs/java.md @@ -52,7 +52,7 @@ show-busy-java-threads # 从所有运行的Java进程中找出最消耗CPU的线程(缺省5个),打印出其线程栈 # 缺省会自动从所有的Java进程中找出最消耗CPU的线程,这样用更方便 -# 当然你可以手动指定要分析的Java进程Id,以保证只会显示出那个你关心的Java进程的信息 +# 当然你可以手动指定要分析的Java进程Id,以保证只会显示出那个你关心的那个Java进程的信息 show-busy-java-threads -p <指定的Java进程Id> show-busy-java-threads -c <要显示的线程栈数> @@ -60,9 +60,12 @@ show-busy-java-threads -c <要显示的线程栈数> show-busy-java-threads <重复执行的间隔秒数> [<重复执行的次数>] # 多次执行;这2个参数的使用方式类似vmstat命令 -show-busy-java-threads -a <输出记录到的文件> +show-busy-java-threads -a <运行输出的记录到的文件> # 记录到文件以方便回溯查看 +show-duplicate-java-classes -S <存储jstack输出文件的目录> +# 指定jstack输出文件的存储目录,方便记录以后续分析 + ############################## # 注意: ############################## @@ -93,30 +96,36 @@ Example: show-busy-java-threads 1 # update every 1 second, (stop by eg: CTRL+C) show-busy-java-threads 3 10 # update every 3 seconds, update 10 times -Options: +Output control: -p, --pid find out the highest cpu consumed threads from the specified java process, default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, - default use top command, because cpu usage of ps command is expressed as - the percentage of time spent running during the entire lifetime of a process, - this is not ideal. - -d, --top-delay specifies the delay between top samples, default is 0.5 (second). - get thread cpu percentage during this delay interval. - more info see top -d option. eg: -d 1 (1 second). - -s, --jstack-path specifies the path of jstack command. -S, --jstack-file-dir specifies the dir for storing jstack output files, and keep files. default store jstack output files at tmp dir, and auto remove after run. use this option to keep files so as to review jstack later. + delay the delay between updates in seconds. + count the number of updates. + delay/count arguments imitates the style of vmstat command. + +jstack control: + -s, --jstack-path specifies the path of jstack command. -F, --force set jstack to force a thread dump. use when jstack does not respond (process is hung). -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). -l, --lock-info set jstack with long listing. Prints additional information about locks. + +cpu usage calculation control: + -d, --top-delay specifies the delay between top samples, default is 0.5 (second). + get thread cpu percentage during this delay interval. + more info see top -d option. eg: -d 1 (1 second). + -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, + default use top command, because cpu usage of ps command is expressed as + the percentage of time spent running during the entire lifetime of a process, + this is not ideal. + +Miscellaneous: -h, --help display this help and exit. - delay the delay between updates in seconds. - count the number of updates. - delay/count arguments imitates the style of vmstat command. ``` ### 示例 diff --git a/show-busy-java-threads b/show-busy-java-threads index 7fdb52df..3e9dd75b 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -82,30 +82,36 @@ Example: ${PROG} 1 # update every 1 second, (stop by eg: CTRL+C) ${PROG} 3 10 # update every 3 seconds, update 10 times -Options: +Output control: -p, --pid find out the highest cpu consumed threads from the specified java process, default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, - default use top command, because cpu usage of ps command is expressed as - the percentage of time spent running during the entire lifetime of a process, - this is not ideal. - -d, --top-delay specifies the delay between top samples, default is 0.5 (second). - get thread cpu percentage during this delay interval. - more info see top -d option. eg: -d 1 (1 second). - -s, --jstack-path specifies the path of jstack command. -S, --jstack-file-dir specifies the dir for storing jstack output files, and keep files. default store jstack output files at tmp dir, and auto remove after run. use this option to keep files so as to review jstack later. + delay the delay between updates in seconds. + count the number of updates. + delay/count arguments imitates the style of vmstat command. + +jstack control: + -s, --jstack-path specifies the path of jstack command. -F, --force set jstack to force a thread dump. use when jstack does not respond (process is hung). -m, --mix-native-frames set jstack to print both java and native frames (mixed mode). -l, --lock-info set jstack with long listing. Prints additional information about locks. + +cpu usage calculation control: + -d, --top-delay specifies the delay between top samples, default is 0.5 (second). + get thread cpu percentage during this delay interval. + more info see top -d option. eg: -d 1 (1 second). + -P, --use-ps use ps command to find busy thread(cpu usage) instead of top command, + default use top command, because cpu usage of ps command is expressed as + the percentage of time spent running during the entire lifetime of a process, + this is not ideal. + +Miscellaneous: -h, --help display this help and exit. - delay the delay between updates in seconds. - count the number of updates. - delay/count arguments imitates the style of vmstat command. EOF exit $exit_code From d2f48d5deba242acdef67c4d129faed8c91e8de0 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 22:36:51 +0800 Subject: [PATCH 104/141] fix bug: option parse fail should exit --- show-busy-java-threads | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 3e9dd75b..e29a954c 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -127,8 +127,11 @@ uname | grep '^Linux' -q || fatal "Error: $PROG only support Linux, not support # parse options ################################################################################ -readonly ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:Pd:Fmlh -l count:,pid:,append-file:,jstack-path:,jstack-file-dir:,use-ps,top-delay:,force,mix-native-frames,lock-info,help -- "$@"` -[ $? -ne 0 ] && usage 1 +# NOTE: ARGS can not be declared as readonly!! +# readonly declaration make exit code of assignment to be always 0, aka. the exit code of `getopt` in subshell is discarded. +# tested on bash 4.2.46 +ARGS=`getopt -n "$PROG" -a -o p:c:a:s:S:Pd:Fmlh -l count:,pid:,append-file:,jstack-path:,jstack-file-dir:,use-ps,top-delay:,force,mix-native-frames,lock-info,help -- "$@"` +[ $? -ne 0 ] && { echo; usage 1; } eval set -- "${ARGS}" while true; do @@ -275,8 +278,7 @@ __top_threadId_cpu() { HOME="$tmp_store_dir" top -H -b -d $top_delay -n 2 | awk '{ if (idx == 3 && $NF == "java") # $NF is command - # only print 4th text block(idx == 3) - # aka. process info of second top update + # only print 4th text block(idx == 3), aka. process info of second top update print $1 " " $9 # $1 is thread id, $9 is %cpu if ($0 == "") idx++ From 36bb053309925aa1c939acfea3cdabd0ad6222b8 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 22:48:30 +0800 Subject: [PATCH 105/141] remove monitor-host.sh - not a lib - as a tool, not general enough --- monitor-host.sh | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100755 monitor-host.sh diff --git a/monitor-host.sh b/monitor-host.sh deleted file mode 100755 index ae91bddb..00000000 --- a/monitor-host.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -# @Function -# monitor host:network io memory cpu -# -# @Usage -# $ ./monitor-host.sh -# -# @author Bryant Hang - -DELAY=10 -COUNT=60 - -LOG_PATH='monitor_logs' - -if ! [ -d $LOG_PATH ]; then - mkdir -p $LOG_PATH -fi - -cur_date="`date +%Y%m%d`" - -top_log_path=$LOG_PATH'/top_'$cur_date'.log' -memory_log_path=$LOG_PATH'/memory_'$cur_date'.log' -cpu_log_path=$LOG_PATH'/cpu_'$cur_date'.log' -io_log_path=$LOG_PATH'/io_'$cur_date'.log' -network_log_path=$LOG_PATH'/network_'$cur_date'.log' - -# total performance check -top -b -d $DELAY -n $COUNT >> $top_log_path 2>&1 & - -# memory check -vmstat $DELAY $COUNT >> $memory_log_path 2>&1 & - -# cpu check -sar -u $DELAY $COUNT >> $cpu_log_path 2>&1 & - -# IO check -iostat $DELAY $COUNT >> $io_log_path 2>&1 & - -# network check -sar -n DEV $DELAY $COUNT >> $network_log_path 2>&1 & From fe43dcb69f22a1a241585e7a127d1be1deae75fe Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 23:30:16 +0800 Subject: [PATCH 106/141] use fatal instead of usage this is a error, not a mistake of command option usage --- show-busy-java-threads | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index e29a954c..eb19636d 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -190,12 +190,8 @@ use_ps=${use_ps:-false} top_delay=${top_delay:-0.5} if [ -n "$jstack_file_dir" -a -e "$jstack_file_dir" ]; then - if [ ! -d "$jstack_file_dir" ]; then - usage 1 "$jstack_file_dir exists but is not a directory!" - fi - if [ ! -w "$jstack_file_dir" ]; then - usage 1 "$jstack_file_dir directory exists but is not writable!" - fi + [ ! -d "$jstack_file_dir" ] && fatal "Error: $jstack_file_dir(specified by option -S, the dir for storing jstack output files) exists but is not a directory!" + [ ! -w "$jstack_file_dir" ] && fatal "Error: directory $jstack_file_dir(specified by option -S, the dir for storing jstack output files) exists but is not writable!" fi update_delay=${1:-0} From 83a2a13cebbe1835e3e3301258f6b3c2de042c1d Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 26 May 2018 23:45:31 +0800 Subject: [PATCH 107/141] check the success when create jstack_file_dir --- docs/java.md | 2 +- show-busy-java-threads | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/java.md b/docs/java.md index 62f55467..42e0eca2 100644 --- a/docs/java.md +++ b/docs/java.md @@ -101,7 +101,7 @@ Output control: default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -S, --jstack-file-dir specifies the dir for storing jstack output files, and keep files. + -S, --jstack-file-dir specifies the directory for storing jstack output files, and keep files. default store jstack output files at tmp dir, and auto remove after run. use this option to keep files so as to review jstack later. delay the delay between updates in seconds. diff --git a/show-busy-java-threads b/show-busy-java-threads index eb19636d..8b870c01 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -87,7 +87,7 @@ Output control: default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -S, --jstack-file-dir specifies the dir for storing jstack output files, and keep files. + -S, --jstack-file-dir specifies the directory for storing jstack output files, and keep files. default store jstack output files at tmp dir, and auto remove after run. use this option to keep files so as to review jstack later. delay the delay between updates in seconds. @@ -189,9 +189,13 @@ count=${count:-5} use_ps=${use_ps:-false} top_delay=${top_delay:-0.5} -if [ -n "$jstack_file_dir" -a -e "$jstack_file_dir" ]; then - [ ! -d "$jstack_file_dir" ] && fatal "Error: $jstack_file_dir(specified by option -S, the dir for storing jstack output files) exists but is not a directory!" - [ ! -w "$jstack_file_dir" ] && fatal "Error: directory $jstack_file_dir(specified by option -S, the dir for storing jstack output files) exists but is not writable!" +if [ -n "$jstack_file_dir" ]; then + if [ -e "$jstack_file_dir" ]; then + [ ! -d "$jstack_file_dir" ] && fatal "Error: $jstack_file_dir(specified by option -S, for storing jstack output files) exists but is not a directory!" + [ ! -w "$jstack_file_dir" ] && fatal "Error: directory $jstack_file_dir(specified by option -S, for storing jstack output files) exists but is not writable!" + else + mkdir -p "$jstack_file_dir" && fatal "Error: fail to create directory $jstack_file_dir(specified by option -S, for storing jstack output files)!" + fi fi update_delay=${1:-0} @@ -224,7 +228,6 @@ readonly tmp_store_dir="/tmp/${uuid}" mkdir -p "$tmp_store_dir" if [ -n "$jstack_file_dir" ]; then - mkdir -p "$jstack_file_dir" readonly jstack_file_path_prefix="$jstack_file_dir/jstack_${run_timestamp}_" else readonly jstack_file_path_prefix="$tmp_store_dir/jstack_${run_timestamp}_" From e6bc3019398676e5c4542ae263490a197de9dbee Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 27 May 2018 21:39:04 +0800 Subject: [PATCH 108/141] check append file of -a option #70 --- show-busy-java-threads | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 8b870c01..9dfc2ec2 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -37,7 +37,9 @@ colorPrint() { shift colorEcho "$color" "$@" - [ -n "$append_file" ] && echo "$@" >> "$append_file" + # use "{} &> /dev/null" to discard bash error message: + # line 42: xxx.log: Permission denied + { [ -n "$append_file" ] && echo "$@" >> "$append_file"; } &> /dev/null } redPrint() { @@ -189,6 +191,23 @@ count=${count:-5} use_ps=${use_ps:-false} top_delay=${top_delay:-0.5} +# check the directory of append-file(-a) mode, create if not exsit. +if [ -n "$append_file" ]; then + if [ -e "$append_file" ]; then + [ ! -f "$append_file" ] && fatal "Error: $append_file(specified by option -a, for storing run output files) exists but is not a file!" + [ ! -w "$append_file" ] && fatal "Error: file $append_file(specified by option -a, for storing run output files) exists but is not writable!" + else + append_file_dir="$(dirname "$append_file")" + if [ -e "$append_file_dir" ]; then + [ ! -d "$append_file_dir" ] && fatal "Error: directory $append_file_dir(specified by option -a, for storing run output files) exists but is not a directory!" + [ ! -w "$append_file_dir" ] && fatal "Error: directory $append_file_dir(specified by option -a, for storing run output files) exists but is not writable!" + else + mkdir -p "$append_file_dir" && fatal "Error: fail to create directory $append_file_dir(specified by option -a, for storing run output files)!" + fi + fi +fi + +# check jstack-file directory(-S) mode, create directory if not exsit. if [ -n "$jstack_file_dir" ]; then if [ -e "$jstack_file_dir" ]; then [ ! -d "$jstack_file_dir" ] && fatal "Error: $jstack_file_dir(specified by option -S, for storing jstack output files) exists but is not a directory!" From 72101a8bdc963c9edf2296ee6272eafc1b5d5cc4 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Tue, 5 Jun 2018 19:37:18 +0800 Subject: [PATCH 109/141] reecho `wc -l`, ensure no extra whitespace `wc -l` output of MacOS has extra whitespace --- find-in-jars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/find-in-jars b/find-in-jars index 422f5990..fc46288b 100755 --- a/find-in-jars +++ b/find-in-jars @@ -218,7 +218,7 @@ clearResponsiveMessage() { ################################################################################ readonly jar_files="$(find "${dirs[@]}" "${find_iname_options[@]}" -type f)" -readonly total_count="$(echo "$jar_files" | wc -l)" +readonly total_count="$(echo $(echo "$jar_files" | wc -l))" [ -z "$jar_files" ] && { echo "No jar found!" 1>&2 exit 1 From 0b03b02aa26fa800b0c315bc41d331162ff964f2 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 10 Jun 2018 20:38:29 +0800 Subject: [PATCH 110/141] code cleanup --- show-busy-java-threads | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 9dfc2ec2..5fc83946 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -187,9 +187,15 @@ while true; do ;; esac done + count=${count:-5} -use_ps=${use_ps:-false} + +update_delay=${1:-0} +[ -z "$1" ] && update_count=1 || update_count=${2:-0} +(( update_count < 0 )) && update_count=0 + top_delay=${top_delay:-0.5} +use_ps=${use_ps:-false} # check the directory of append-file(-a) mode, create if not exsit. if [ -n "$append_file" ]; then @@ -217,10 +223,6 @@ if [ -n "$jstack_file_dir" ]; then fi fi -update_delay=${1:-0} -[ -z "$1" ] && update_count=1 || update_count=${2:-0} -(( update_count < 0 )) && update_count=0 - ################################################################################ # check the existence of jstack command ################################################################################ @@ -291,13 +293,13 @@ __top_threadId_cpu() { # HOME="$tmp_store_dir" top -H -b -n 1 -o '%CPU' # 2. change HOME env var when run top, # so as to prevent top command output format being change by .toprc user config file unexpectedly - # 3. use option `-d 0.5`(interval 0.5 second) and `-n 2`(show 2 times), and use second time update data - # to get cpu percentage of thread in 0.5 second interval + # 3. use option `-d 0.5`(update interval 0.5 second) and `-n 2`(update 2 times), + # and use second time update data to get cpu percentage of thread in 0.5 second interval HOME="$tmp_store_dir" top -H -b -d $top_delay -n 2 | awk '{ - if (idx == 3 && $NF == "java") # $NF is command + if (idx == 3 && $NF == "java") # $NF(last field) is command field # only print 4th text block(idx == 3), aka. process info of second top update - print $1 " " $9 # $1 is thread id, $9 is %cpu + print $1 " " $9 # $1 is thread id field, $9 is %cpu field if ($0 == "") idx++ }' | sort -k2,2nr From c4fcf7eeef280346ac19181f4bd87bfc39dc81cb Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 13 Jun 2018 17:08:02 +0800 Subject: [PATCH 111/141] fix bug for top v3.2 #71 --- show-busy-java-threads | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 5fc83946..042efe7c 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -295,13 +295,19 @@ __top_threadId_cpu() { # so as to prevent top command output format being change by .toprc user config file unexpectedly # 3. use option `-d 0.5`(update interval 0.5 second) and `-n 2`(update 2 times), # and use second time update data to get cpu percentage of thread in 0.5 second interval + # 4. top v3.3, there is 1 black line between 2 update; + # but top v3.2, there is 2 blank lines between 2 update! HOME="$tmp_store_dir" top -H -b -d $top_delay -n 2 | - awk '{ - if (idx == 3 && $NF == "java") # $NF(last field) is command field - # only print 4th text block(idx == 3), aka. process info of second top update - print $1 " " $9 # $1 is thread id field, $9 is %cpu field - if ($0 == "") - idx++ + awk 'BEGIN { blockIndex = 0; currentLineHasText = 0; prevLineHasText = 0; } { + currentLineHasText = ($0 != "") + if (prevLineHasText && !currentLineHasText) + blockIndex++ # from text line to empty line, increase block index + + if (blockIndex == 3 && $NF == "java") # $NF(last field) is command field + # only print 4th text block(blockIndex == 3), aka. process info of second top update + print $1 " " $9 # $1 is thread id field, $9 is %cpu field + + prevLineHasText = currentLineHasText # update prevLineHasText }' | sort -k2,2nr } From f8ff242b9ca97f570ab457473f6b11d5b4d7cc88 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 13 Jun 2018 18:10:22 +0800 Subject: [PATCH 112/141] use printf instead of print in awk script --- show-busy-java-threads | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 042efe7c..91788675 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -332,7 +332,7 @@ findBusyJavaThreadsByTop() { # output field: pid, threadId, pcpu, user local output_fields="$( echo "$ps_out" | awk -v "threadId=$threadId" -v "pcpu=$pcpu" '$2==threadId { - print $1 " " threadId " " pcpu " " $3; exit + printf "%s %s %s %s\n", $1, threadId, pcpu, $3; exit }' )" if [ -n "$output_fields" ]; then (( idx++ )) From 7d991a44a932eef34a8044e4bc5343078ed3735c Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 13 Jun 2018 18:39:05 +0800 Subject: [PATCH 113/141] code cleanup --- show-busy-java-threads | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 91788675..185a6952 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -259,7 +259,6 @@ cleanupWhenExit() { } trap "cleanupWhenExit" EXIT - headInfo() { colorEcho "0;34;42" ================================================================================ echo "$(date "+%Y-%m-%d %H:%M:%S.%N") [$(( i + 1 ))/$update_count]: ${COMMAND_LINE[@]}" @@ -267,18 +266,19 @@ headInfo() { echo } +if [ -n "${pid}" ]; then + readonly ps_process_select_options="-p $pid" +else + readonly ps_process_select_options="-C java" +fi + # output field: pid, thread id(lwp), pcpu, user # order by pcpu(percentage of cpu usage) findBusyJavaThreadsByPs() { - if [ -n "${pid}" ]; then - local -r ps_options="-p $pid" - else - local -r ps_options="-C java" - fi # 1. sort by %cpu by ps option `--sort -pcpu` # 2. use wide output(unlimited width) by ps option `-ww` # avoid trunk user column to username_fo+ or $uid alike - ps $ps_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers | head -n "${count}" + ps $ps_process_select_options -wwLo pid,lwp,pcpu,user --sort -pcpu --no-headers | head -n "${count}" } # top with output field: thread id, %cpu @@ -313,13 +313,8 @@ __top_threadId_cpu() { # output format is same as function findBusyJavaThreadsByPs findBusyJavaThreadsByTop() { - if [ -n "${pid}" ]; then - local -r ps_options="-p $pid" - else - local -r ps_options="-C java" - fi # ps output field: pid, thread id(lwp), user - local -r ps_out="$(ps $ps_options -wwLo pid,lwp,user --no-headers)" + local -r ps_out="$(ps $ps_process_select_options -wwLo pid,lwp,user --no-headers)" local idx=0 local -a line From 07a04291d3435bf8b1f4d8902eeed55bc2deaba6 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Wed, 13 Jun 2018 18:46:14 +0800 Subject: [PATCH 114/141] support command name jsvc to find java process feature #72 --- show-busy-java-threads | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 185a6952..813e9c16 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -269,7 +269,7 @@ headInfo() { if [ -n "${pid}" ]; then readonly ps_process_select_options="-p $pid" else - readonly ps_process_select_options="-C java" + readonly ps_process_select_options="-C java -C jsvc" fi # output field: pid, thread id(lwp), pcpu, user @@ -303,7 +303,7 @@ __top_threadId_cpu() { if (prevLineHasText && !currentLineHasText) blockIndex++ # from text line to empty line, increase block index - if (blockIndex == 3 && $NF == "java") # $NF(last field) is command field + if (blockIndex == 3 && ($NF == "java" || $NF == "jsvc")) # $NF(last field) is command field # only print 4th text block(blockIndex == 3), aka. process info of second top update print $1 " " $9 # $1 is thread id field, $9 is %cpu field From 461e77f9e394c82d1b31c2b38a2d43dfcc2a0d8e Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 14 Jun 2018 13:05:46 +0800 Subject: [PATCH 115/141] show-busy-java-threads: use pipe instead `<()` --- show-busy-java-threads | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/show-busy-java-threads b/show-busy-java-threads index 813e9c16..d19ae23b 100755 --- a/show-busy-java-threads +++ b/show-busy-java-threads @@ -311,8 +311,7 @@ __top_threadId_cpu() { }' | sort -k2,2nr } -# output format is same as function findBusyJavaThreadsByPs -findBusyJavaThreadsByTop() { +__complete_pid_user_by_ps() { # ps output field: pid, thread id(lwp), user local -r ps_out="$(ps $ps_process_select_options -wwLo pid,lwp,user --no-headers)" @@ -333,7 +332,12 @@ findBusyJavaThreadsByTop() { (( idx++ )) echo "$output_fields" fi - done < <( __top_threadId_cpu ) + done +} + +# output format is same as function findBusyJavaThreadsByPs +findBusyJavaThreadsByTop() { + __top_threadId_cpu | __complete_pid_user_by_ps } printStackOfThreads() { From c27e0ed3c79d7d3459543a0ac0a50ef3b199fcdc Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Thu, 14 Jun 2018 13:11:23 +0800 Subject: [PATCH 116/141] find-in-jars: use pipe instead `<()` --- find-in-jars | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/find-in-jars b/find-in-jars index fc46288b..a3b4fb72 100755 --- a/find-in-jars +++ b/find-in-jars @@ -224,21 +224,26 @@ readonly total_count="$(echo $(echo "$jar_files" | wc -l))" exit 1 } -$is_console && readonly grep_color_option='--color=always' +findInJarFiles() { + $is_console && local -r grep_color_option='--color=always' -counter=1 -while read jar_file; do - printResponsiveMessage "finding in jar($((counter++))/$total_count): $jar_file" + local counter=1 + local jar_file + while read jar_file; do + printResponsiveMessage "finding in jar($((counter++))/$total_count): $jar_file" - $command_for_list_zip "${jar_file}" | - grep $regex_mode $ignore_case_option $grep_color_option -- "$pattern" | - while read file; do - clearResponsiveMessage + $command_for_list_zip "${jar_file}" | + grep $regex_mode $ignore_case_option $grep_color_option -- "$pattern" | + while read file; do + clearResponsiveMessage - $is_console && - echo "$ec[1;31m${jar_file}${eend}${ec}[1;32m${seperator}${eend}${file}" || - echo "${jar_file}${seperator}${file}" - done + $is_console && + echo "$ec[1;31m${jar_file}${eend}${ec}[1;32m${seperator}${eend}${file}" || + echo "${jar_file}${seperator}${file}" + done - clearResponsiveMessage -done < <(echo "$jar_files") + clearResponsiveMessage + done +} + +echo "$jar_files" | findInJarFiles From 2d53bac76118f33a8df56dadbaa9eb048dfb5138 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Fri, 15 Jun 2018 15:50:28 +0800 Subject: [PATCH 117/141] store all intermediate output for review/debug #74 - ps/top/jstack - run output --- docs/java.md | 6 +-- show-busy-java-threads | 99 +++++++++++++++++++++++++++++------------- 2 files changed, 72 insertions(+), 33 deletions(-) diff --git a/docs/java.md b/docs/java.md index 42e0eca2..c23bdabf 100644 --- a/docs/java.md +++ b/docs/java.md @@ -101,9 +101,9 @@ Output control: default from all java process. -c, --count set the thread count to show, default is 5. -a, --append-file specifies the file to append output as log. - -S, --jstack-file-dir specifies the directory for storing jstack output files, and keep files. - default store jstack output files at tmp dir, and auto remove after run. - use this option to keep files so as to review jstack later. + -S, --store-dir

j}Q69D{K{zIOoPuwM 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 literal 329810 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�#1Hk=H|z@UyMW>pM#FNaTvh8NbY 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