- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
学Linux,掌握这80个命令就够了
Linux命令有几千个,加上每个命令又有很多参数,初学者学起来,难免无从下手,但
是命令又是学Linux必须经历的一个阶段,如何快速掌握linux的核心命令和精髓呢,今天
高老师就给初学者准备了linux入门必学的这80个命令。
第六篇《命令的组合使用》
6.1、查询当前整个系统每个进程的线程数
我们经常遇到这样的问题,比如某台服务器的CPU使用率飙升,通过top命令查看是
某个程序(例如java)占用的cpu比较大,现在需要查询java各个进程下的线程数情况。
可以通这一个命令组合实现:
[root@localhost~]#forpidin$(ps-ef|grep-vgrep|grepjava|awk{print$2});do
echo${pid}/tmp/a.txt;cat/proc/${pid}/status|grepThreads/tmp/b.txt;paste
/tmp/a.txt/tmp/b.txt;done|sort-k3–rn
11133Threads:51
先解释下这个脚本:
1)、forpidin$(ps-ef|grep-vgrep|grepjava|awk{print$2})
这部分是获取${pid}变量为java进程的pid号。
2)、echo${pid}/tmp/a.txt
这部分是将java进程的pid号都打印到/tmp/a.txt文件中。
3)、cat/proc/${pid}/status|grepThreads/tmp/b.txt
这部分是将各个pid进程号下的线程信息打印到/tmp/b.txt文件中。
4)、paste/tmp/a.txt/tmp/b.txt
这部分是以列的形式展示a.txt和b.txt文件中的信息。
5)sort-k3-rn
这部分是对输出的信息进行排序,其中,-k3表示以第三列进行排序,“-rn”表示降序
排列。将上面命令组合放入系统执行完毕后,输入内容如下:
从输出可以看出,第一列显示的是java的进程号,最后一列显示的每个java进程对应
的线程数量。这个例子是一个for循环加上ps命令和sort命令综合应用的实例。
6.2、如何检测系统中的僵尸进程并kill掉
要查找系统中的僵尸进程,有多种方法,这里给出一种命令行探测僵尸进程的方法:
[root@localhost~]#ps-e-ostat,ppid,pid,cmd|egrep^[Zz]
Z1080810812[java]defunct
介绍下用到的几个参数:
-e:参数用于列出所有的进程
-o:参数用于设定输出格式,这里只输出进程的stat(状态信息)、ppid(父进程pid)、pid(当
前进程的pid),cmd(即进程的可执行文件。
egrep:是linux下的正则表达式工具
^[Zz]:这是正则表达式,^表示第一个字符的位置,[Zz],表示小写z或者大写的Z字母,
即表示第一个字符为Z或者z开头的进程数据,只所以这样是因为僵尸进程的状态信息以Z
或者z字母开头。
找到僵尸进程的pid后,直接通过”kill-9pid“命令杀掉即可,但是如果僵尸进程很
多的话,就会很繁琐,因此,还需要一个批量删除僵尸进程的办法:
[root@localhost~]#ps-e-ostat,ppid,pid,cmd|grep-e^[Zz]|awk{print$2}|xargs
kill-9
这是个命令组合,通过管道实现命令的组合应用。“grep-e”相当于egrep命令。“awk
{print$2}”是将前面命令的输出信息进行过滤,仅仅输出第二列的值,而第二列就是进
程的ppid。“xargskill-9”这是将得到的ppid传给“kill-9”作为
文档评论(0)