Linux系统管理员工具包进程管理技巧

上传人:cl****1 文档编号:489889411 上传时间:2024-01-24 格式:DOC 页数:9 大小:27.50KB
返回 下载 相关 举报
Linux系统管理员工具包进程管理技巧_第1页
第1页 / 共9页
Linux系统管理员工具包进程管理技巧_第2页
第2页 / 共9页
Linux系统管理员工具包进程管理技巧_第3页
第3页 / 共9页
Linux系统管理员工具包进程管理技巧_第4页
第4页 / 共9页
Linux系统管理员工具包进程管理技巧_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《Linux系统管理员工具包进程管理技巧》由会员分享,可在线阅读,更多相关《Linux系统管理员工具包进程管理技巧(9页珍藏版)》请在金锄头文库上搜索。

1、.Linux系统管理员工具包 进程管理技巧Linux系统管理员工具包:进程管理技巧2010-11-30 14:45本文属转载自网络,仅供个人娱乐参考使用,如有转载请标明出处,若有侵权等后果,本人概不负责!本文章如果无意对他人著作权及相关权利构成侵犯,一经权利人要求,本人将立即删除。学习如何获取所需的UNIX进程信息。对于所有的系统管理员来说,了解自己的UNIX系统正在运行的进程是最基本的要求之一。标准的进程列表很有用,但是它所提供的信息格式不正确或者没有包含所需的进程或信息。能从进程列表中选择特定类型的数据将使管理任务更加容易。在本文中,您将了解到如何扩展该进程列表以改善信息的可读性,或者提供

2、在其他地方不易获得的摘要和信息。您还将看到如何跨不同的UNIX平台获取进程信息的标准化的方法。关于本系列通常,UNIX管理员都拥有一套他/她经常使用协助管理进程的实用程序、技巧和系统。有一些重要的实用程序、命令行链以及脚本可用来简化各种处理过程。这些工具中有一部分来自于操作系统,而大部分的技巧则来源于长期的经验和简化系统管理员工作的要求。本系列文章主要专注于最大限度地利用各种UNIX环境中可用的工具,包括简化异类环境中的管理任务的方法。使用psps命令行工具列出了正在运行的进程。该工具存在于所有的UNIX变种中,并且大体上都按相同的基本方式工作,即向内核请求正在运行的进程列表,然后报告进程列表

3、及其属性,如内存使用情况、运行时间和其他详细信息。ps工具实际上是一个非常强大的工具,尽管许多管理员可能仅使用可用选项中的某一两项来查看所需的信息。可以利用内置命令行选项从命令中获取更多的信息,甚至可以将ps通过管道与其他命令结合起来,以获取所需的准确信息。列出所有进程即使是以root身份登录,ps的标准输出也只列出了您所运行的进程。根据您的UNIX环境是基于BSD或者AT&T,SysV UNIX基础部分对用来获取系统中其他进程信息的基本命令行选项做出相应的变动,或者改变所显示的信息。在基于BSD的UNIX环境中,输出包括进程ID、终端、状态、时间(在CPU中的执行时间,单位为秒,而不是进程开

4、始运行的时间),以及所执行的命令,如清单1所示。清单1列出BSD UNIX变种上的进程$ps PID TT STAT TIME COMMAND 391 p5 S0:00.24/bin/bash9165 p5 S+0:00.50 emacs 476 p6 S0:01.03/bin/bash9299 p6 S0:00.09 xterm9319 p6 S0:00.07 xterm9423 p6 S0:00.12 ftp atuin9513 p6 R+0:00.01 ps9301 p7 Ss+0:00.01/usr/X11R6/bin/luit9302 p8 Ss+0:00.03 bash9321 p

5、9 Ss+0:00.01/usr/X11R6/bin/luit9322 pa Ss+0:00.02 bash在SVR4环境中,所提供的列较少(您得不到进程状态信息),如下面的清单2所示。清单2.列出SVR4 UNIX变种上的进程$ps PID TTY TIME CMD19915 pts/3 00:00:00 bash29145 pts/3 00:00:00 emacs32256 pts/3 00:00:00 emacs26986 pts/3 00:00:00 xterm31303 pts/3 00:00:00 ftp31358 pts/3 00:00:00 ps$ps-A PID TT STA

6、T TIME COMMAND 1?S s0:15.47/sbin/launchd 23?Ss 0:00.02/sbin/dynamic_pager-F/private/var/vm/swapfile 27?Ss 0:00.95 kextd 49?Ss 0:05.17/usr/sbin/configd 50?Ss 0:01.89/usr/sbin/coreaudiod 51?Ss 0:04.40/usr/sbin/diskarbitrationd 52?Ss 0:00.08/usr/sbin/memberd-x 53?Ss 0:02.80/usr/sbin/securityd 55?Ss 11:

7、03.59/usr/sbin/notifyd 57?Ss 0:01.13/usr/sbin/DirectoryService.8051 p2 S+0:00.61 ssh rootbear 292 p3 Ss 0:00.02 bash 372 p3 S+0:00.42 ssh adminatuin 312 p4 Ss+0:00.03 bash 332 p5 Ss 0:00.03 bash 391 p5 S0:00.24/bin/bash9165 p5 S+0:00.50 emacs 352 p6 Ss 0:00.04 bash 476 p6 S0:01.04/bin/bash9299 p6 S0

8、:00.09 xterm9319 p6 S0:00.07 xterm9423 p6 S0:00.14 ftp atuin9520 p6 R+0:00.01 ps-A9301 p7 Ss+0:00.01/usr/X11R6/bin/luit9302 p8 Ss+0:00.03 bash9321 p9 Ss+0:00.01/usr/X11R6/bin/luit9322 pa Ss+0:00.02 bash$ps-e PID TTY TIME CMD 0?15:24 sched 1?0:00 init 2?0:00 pageout 3?0:00 fsflush 308?0:00 devfsadm 7

9、?0:06 svc.star 9?0:10 svc.conf 506?0:00 htt_serv 260?0:00 rpcbind 259?0:00 cron 52?0:00 dhcpagen 282 console 0:00 ttymon 267?0:00 lockd 264?0:00 statd 90?0:00 sysevent.462?0:00 smcboot 464?0:00 smcboot 463?0:00 smcboot 473?0:00 htt 552?0:00 in.telne 527?0:00 dmispd 548?0:01 snmpdps-ef UID PID PPID C

10、STIME TTY TIME CMD root 00 015:56:26?15:24 sched root 10 015:56:26?0:00/sbin/init root 20 015:56:26?0:00 pageout root 30 015:56:26?0:00 fsflush root 308 10 15:57:09?0:00 devfsadmd root 71 015:56:29?0:06/lib/svc/bin/svc.startd.root 562 10 15:58:17?0:00/usr/lib/sendmail-bd-q15m root 576 555 116:01:47

11、pts/1 0:00 ps-ef root 416 10 15:57:14?0:00/usr/sbin/syslogd smmsp 561 10 15:58:17?0:00/usr/lib/sendmail-Ac-q15m.root 552 283 015:57:47?0:00/usr/sbin/in.telnetd root 527 10 15:57:22?0:00/usr/lib/dmi/dmispd root 548 10 15:57:24?0:01/usr/sfw/sbin/snmpd$ps-alUID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT

12、 TIME COMMAND 09165 391 031 057896 6376-S+p5 0:00.50 emacs501 352 349 031 027784 52-Ss p6 0:00.04 bash 0476 352 031 027784 600-S p6 0:01.05/bin/bash 09299 476 031 044988 1880-S p6 0:00.09 xterm 09319 476 031 044988 1888-S p6 0:00.07 xterm 09423 476 031 027504 488-S p6 0:00.15 ftp atuin 09540 476 031

13、 027384 504-R+p6 0:00.01 ps-axl 09301 9299 031 027332 452-Ss+p7 0:00.01/usr/X11R6/bin/luit 09302 9301 031 027784 888-Ss+p8 0:00.03 bash 09321 9319 031 027332 452-Ss+p9 0:00.01/usr/X11R6/bin/luit 09322 9321 031 027784 888-Ss+pa 0:00.02 bash$ps-o pid,ppid,command PID PPID COMMAND 391 332/bin/bash9165

14、391 emacs$ps-opid,ppid,comm PID PPID COMMAND 555 552-sh 622 555 ps$ps-e-opid,pcpu,comm|sort-n+1.3 0.1 fsflush 555 0.1-sh 627 0.2 sort 628 0.2 ps该命令链是可行的,因为已经指定了进程列表的排列顺序,因此可以按照这些列进行排序以获取真正想要的信息。如果想使用不同的标准来查找进程,还有其他的可用方案。列出特定进程显然,在获取了正在运行的进程列表之后,也许希望列出特定的进程。一个显而易见的方法就是将ps的输出与grep结合起来,以提取所需的信息。在一些UNIX

15、变种中,可以通过一些特定的实用程序来完成这项工作,例如pgrep,但是如果要查找一些特定的命令,使用grep也同样是很有效的。$ps-U rootPID TTY TIME CMD 0?15:24 sched 1?0:00 init 2?0:00 pageout 3?0:02 fsflush 308?0:00 devfsadm 7?0:06 svc.star.552?0:00 in.telne 527?0:00 dmispd 629 pts/1 0:00 ps 548?0:01 snmpd$ps-t 3PID TTY TIME CMD19915 pts/3 00:00:00 bash29145

16、pts/3 00:00:00 emacs32256 pts/3 00:00:00 emacs在有了这些信息后,也许想要用它来对进程进行相应的操作。向多个线程发送信号当找到了要查询的进程后,最常用的命令之一是kill。它向一个或多个进程发送特定的信号。对于启动了多个线程或子线程的守护进程的情况,可以尝试向父进程发送信号,以此向所有的进程发送信号。然而,这种方法并不是对所有的守护进程和应用程序都有效。显然,您希望避免手动挑选出这些进程。有些UNIX变种中有一个名为pkill的工具,它能够向满足特定模式或其他标准的进程(例如终端、进程组、用户ID以及组ID列表)发送相同的信号。可以通过链接ps、grep、awk、xargs以及kill命令的方式来模拟这一基本操作,向满足特定命令模式的多个进程发送信号。例如,要向所有命令中包含httpd的进程发送kill信号,可以使用:$ps-e-opid,command|grep httpd|awkprint|xargs k

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号