我使用过的Linux命令之ps - 显示当前正在运行的进程列表

我使用过的Linux命令之ps - 显示当前正在运行的进程列表

本文链接:http://codingstandards.iteye.com/blog/841996   (转载请注明出处)

用途说明

ps命令是Process Status的缩写(ps is the shortage for Process Status.)。ps命令用来列出系统中当前运行的那些进程(The command should be used to display the currently running processes on Unix/Linux systems.)。ps命令列出的是当前那些进程的快照(report a snapshot of the current processes),就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令(ps displays information about a selection of the active processes. If you want a repetitive update of the selection and the displayed information, use top(1) instead.)。

常用参数

ps命令参数可以支持不同的风格,而且又多,实在很难一一列出,下面只列出常用的方式。列位看官也可以补充一下您的常用方式。

格式:ps

只列出当前终端有关的进程。

格式:ps -ef

格式:ps aux     <== BSD syntax

显示所有的进程(To see every process on the system using standard syntax)。通常和grep/egrep等命令配合使用来查找相关的进程。


格式:COLUMNS=1024 ps h -C java -f

显示java进程的完整信息。(h表明不显示头部信息,-C指定命令名称,-f列出全部信息)

使用示例

示例一 查看当前shell中的进程

[root@web ~]# ps
  PID TTY          TIME CMD
 5488 pts/12   00:00:00 bash
29720 pts/12   00:00:00 ps
[root@web ~]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  5488 26086  0  75   0 -  1753 wait   pts/12   00:00:00 bash
4 R     0 29727  5488  0  76   0 -  1320 -      pts/12   00:00:00 ps
[root@web ~]#

示例二 ps与grep配合查找进程

通常查找进程的目的是确认程序是否正在运行、或者准备把它kill掉。

[root@web imx_server]# ps -ef|grep update.sh  
root     10683 17963  0 13:52 pts/7    00:00:00 /bin/sh ./update.sh
root     26342  5488  0 16:25 pts/12   00:00:00 grep update.sh
[root@web imx_server]# ps -ef|grep update.sh|grep -v grep
root     10683 17963  0 13:52 pts/7    00:00:00 /bin/sh ./update.sh

[root@web imx_server]# kill 10683
[root@web imx_server]#

示例三 查看java进程的完整信息

使用ant启动的java进程命令行都相当的长。

[root@web imx_server]# COLUMNS=1024 ps h -C java -f
root      1572     1  0 Nov15 ?        Ssl   29:34 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp  start
root      1586  1572  0 Nov15 ?        Sl    50:01 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /opt/web/web_server/web.server.jar:/opt/web/web_server:/opt/web/web_server/lib/apache-mime4j-0.6.jar:/opt/web/web_server/lib/commons-beanutils-1.8.3.jar:/opt/web/web_server/lib/commons-codec-1.3.jar:/opt/web/web_server/lib/commons-logging-1.1.1.jar:/opt/web/web_server/lib/freemarker.jar:/opt/web/web_server/lib/httpclient-4.0.1.jar:/opt/web/web_server/lib/httpcore-4.0.1.jar:/opt/web/web_server/lib/httpmime-4.0.1.jar:/opt/web/web_server/lib/hyjc.jar:/opt/web/web_server/lib/jdom-1.1.1.jar:/opt/web/web_server/lib/json.jar:/opt/web/web_server/lib/junit-4.8.1.jar:/opt/web/web_server/lib/log4j-1.2.16.jar:/opt/web/web_server/lib/mysql-connector-java-5.1.13-bin.jar:/opt/web/web_server/lib/poi-3.6-ZHY-20100522.jar:/opt/web/web_server/lib/proxool-0.9.1.jar:/opt/web/web_server/lib/proxool-cglib.jar:/opt/web/web_server/lib/servlet-api.jar:/opt/web/web_server/lib/sms.client.jar web.server.Main
root      4702  4698  0 Aug11 ?        Sl    27:43 /usr/java/jdk1.6.0_20/bin/java -classpath /root/work190/mhr_user/derby/lib/derby.jar:/root/work190/mhr_user/derby/lib/derbynet.jar:/root/work190/mhr_user/derby/lib/derbytools.jar:/root/work190/mhr_user/derby/lib/derbyclient.jar org.apache.derby.drda.NetworkServerControl start
root      7233     1  0 Nov02 ?        Ssl   33:07 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp  start
root      7262  7233  0 Nov02 ?        Sl    57:55 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /opt/imx/iss_server/iss.server.jar:/opt/imx/iss_server:/opt/imx/iss_server/lib/commons-beanutils-1.8.3.jar:/opt/imx/iss_server/lib/commons-logging-1.1.1.jar:/opt/imx/iss_server/lib/hyjc.jar:/opt/imx/iss_server/lib/ida.api.jar:/opt/imx/iss_server/lib/jdom-1.1.1.jar:/opt/imx/iss_server/lib/json.jar:/opt/imx/iss_server/lib/junit-4.8.1.jar:/opt/imx/iss_server/lib/log4j-1.2.16.jar:/opt/imx/iss_server/lib/mysql-connector-java-5.1.13-bin.jar:/opt/imx/iss_server/lib/poi-3.6-ZHY-20100113.jar:/opt/imx/iss_server/lib/proxool-0.9.1.jar:/opt/imx/iss_server/lib/proxool-cglib.jar:/opt/imx/iss_server/lib/servlet-api.jar:/opt/imx/iss_server/lib/sms.client.jar iss.server.Main
root      8488     1  0 Oct14 ?        Ssl  102:53 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp  start
root      8502  8488  0 Oct14 ?        Sl   259:35 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /root/work190/mhr_server/mhr.server.jar:/root/work190/mhr_server:/root/work190/mhr_server/lib/activation.jar:/root/work190/mhr_server/lib/admin.client.jar:/root/work190/mhr_server/lib/ant.jar:/root/work190/mhr_server/lib/commons-beanutils.jar:/root/work190/mhr_server/lib/commons-email-1.1.jar:/root/work190/mhr_server/lib/commons-logging-1.1.1.jar:/root/work190/mhr_server/lib/dsmp.client.jar:/root/work190/mhr_server/lib/ems.client.jar:/root/work190/mhr_server/lib/filters.jar:/root/work190/mhr_server/lib/htmlparser.jar:/root/work190/mhr_server/lib/hyjc.jar:/root/work190/mhr_server/lib/jcharset.jar:/root/work190/mhr_server/lib/jcommon-1.0.13.jar:/root/work190/mhr_server/lib/jdom-1.1.1.jar:/root/work190/mhr_server/lib/jfreechart-1.0.10.jar:/root/work190/mhr_server/lib/json-lib-2.2.2-jdk15.jar:/root/work190/mhr_server/lib/json.jar:/root/work190/mhr_server/lib/junit-4.1.jar:/root/work190/mhr_server/lib/log4j-1
root     15239     1  0 Oct18 ?        Ssl  115:03 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp  start
root     18066     1  1 Dec03 ?        Sl   176:47 /usr/java/jdk1.6.0_20/bin/java -Djava.util.logging.config.file=/opt/apache/apache-tomcat-6.0.26/conf/logging.properties -Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/apache/apache-tomcat-6.0.26/endorsed -classpath /opt/apache/apache-tomcat-6.0.26/bin/bootstrap.jar -Dcatalina.base=/opt/apache/apache-tomcat-6.0.26 -Dcatalina.home=/opt/apache/apache-tomcat-6.0.26 -Djava.io.tmpdir=/opt/apache/apache-tomcat-6.0.26/temp org.apache.catalina.startup.Bootstrap start
root     26555 26479  0 Dec07 ?        Sl     6:36 java -classpath .:../../lib/jdom-1.1.jar:../../lib/log4j-1.2.15.jar:../../lib/hyjc.jar:../../lib/commons-email-1.1.jar:../../lib/mail.jar:../../lib/activation.jar ems.server.Main
root     27855     1  0 10:01 ?        Sl     0:42 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp  start
root     27872 27855  0 10:01 ?        Sl     3:28 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /opt/imx/imx_server/imx.server.jar:/opt/imx/imx_server/ima.server.jar:/opt/imx/imx_server/ida.server.jar:/opt/imx/imx_server:/opt/imx/imx_server/lib/commons-beanutils-1.8.3.jar:/opt/imx/imx_server/lib/commons-logging-1.1.1.jar:/opt/imx/imx_server/lib/ems.client.jar:/opt/imx/imx_server/lib/hyjc.jar:/opt/imx/imx_server/lib/jdom-1.1.1.jar:/opt/imx/imx_server/lib/json.jar:/opt/imx/imx_server/lib/junit-4.8.1.jar:/opt/imx/imx_server/lib/log4j-1.2.16.jar:/opt/imx/imx_server/lib/mysql-connector-java-5.1.12-bin.jar:/opt/imx/imx_server/lib/poi-3.6-ZHY-20100113.jar:/opt/imx/imx_server/lib/proxool-0.9.1.jar:/opt/imx/imx_server/lib/proxool-cglib.jar:/opt/imx/imx_server/lib/servlet-api.jar:/opt/imx/imx_server/lib/sms.client.jar imx.server.Main
[root@web imx_server]#

示例四 一个显示java进程的脚本

脚本sj.sh。使用方式:不跟参数显示所有java进程,跟上特征参数则显示包含此特征的java进程,特征参数可以是类名、目录名等。

#!/bin/sh

listpids()
{
        #ps -ef|grep java|grep -v grep
        COLUMNS=1024 ps h -C java -f
}

showpids()
{
        while read u p pp t1 t2 tty cpu cmd;
        do
                ls -l /proc/$p/cwd
                echo $p $cwd $cmd
                echo
        done
}

showpidof()
{
        while read u p pp t1 t2 tty cpu cmd;
        do
                if ls -l /proc/$p/cwd | grep -q $1; then
                        echo $p
                elif echo $cmd | grep -q $1; then
                        echo $p
                fi
        done
}

if [ "$1" ]; then
        listpids | showpidof $1 | xargs
else
        listpids | showpids
fi

[root@web imx_server]# sj.sh
lrwxrwxrwx 1 root root 0 12-11 11:09 /proc/1572/cwd -> /opt/web/web_server
1572 29:36 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp start

lrwxrwxrwx 1 root root 0 12-13 10:36 /proc/1586/cwd -> /opt/web/web_server
1586 50:03 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /opt/web/web_server/web.server.jar:/opt/web/web_server:/opt/web/web_server/lib/apache-mime4j-0.6.jar:/opt/web/web_server/lib/commons-beanutils-1.8.3.jar:/opt/web/web_server/lib/commons-codec-1.3.jar:/opt/web/web_server/lib/commons-logging-1.1.1.jar:/opt/web/web_server/lib/freemarker.jar:/opt/web/web_server/lib/httpclient-4.0.1.jar:/opt/web/web_server/lib/httpcore-4.0.1.jar:/opt/web/web_server/lib/httpmime-4.0.1.jar:/opt/web/web_server/lib/hyjc.jar:/opt/web/web_server/lib/jdom-1.1.1.jar:/opt/web/web_server/lib/json.jar:/opt/web/web_server/lib/junit-4.8.1.jar:/opt/web/web_server/lib/log4j-1.2.16.jar:/opt/web/web_server/lib/mysql-connector-java-5.1.13-bin.jar:/opt/web/web_server/lib/poi-3.6-ZHY-20100522.jar:/opt/web/web_server/lib/proxool-0.9.1.jar:/opt/web/web_server/lib/proxool-cglib.jar:/opt/web/web_server/lib/servlet-api.jar:/opt/web/web_server/lib/sms.client.jar web.server.Main

lrwxrwxrwx 1 root root 0 12-14 13:31 /proc/4702/cwd -> /root/work190/mhr_user0
4702 27:44 /usr/java/jdk1.6.0_20/bin/java -classpath /root/work190/mhr_user/derby/lib/derby.jar:/root/work190/mhr_user/derby/lib/derbynet.jar:/root/work190/mhr_user/derby/lib/derbytools.jar:/root/work190/mhr_user/derby/lib/derbyclient.jar org.apache.derby.drda.NetworkServerControl start

lrwxrwxrwx 1 root root 0 12-13 10:36 /proc/7233/cwd -> /opt/imx/iss_server
7233 33:10 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp start

lrwxrwxrwx 1 root root 0 12-13 10:36 /proc/7262/cwd -> /opt/imx/iss_server
7262 57:57 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /opt/imx/iss_server/iss.server.jar:/opt/imx/iss_server:/opt/imx/iss_server/lib/commons-beanutils-1.8.3.jar:/opt/imx/iss_server/lib/commons-logging-1.1.1.jar:/opt/imx/iss_server/lib/hyjc.jar:/opt/imx/iss_server/lib/ida.api.jar:/opt/imx/iss_server/lib/jdom-1.1.1.jar:/opt/imx/iss_server/lib/json.jar:/opt/imx/iss_server/lib/junit-4.8.1.jar:/opt/imx/iss_server/lib/log4j-1.2.16.jar:/opt/imx/iss_server/lib/mysql-connector-java-5.1.13-bin.jar:/opt/imx/iss_server/lib/poi-3.6-ZHY-20100113.jar:/opt/imx/iss_server/lib/proxool-0.9.1.jar:/opt/imx/iss_server/lib/proxool-cglib.jar:/opt/imx/iss_server/lib/servlet-api.jar:/opt/imx/iss_server/lib/sms.client.jar iss.server.Main

lrwxrwxrwx 1 root root 0 12-13 10:36 /proc/8488/cwd -> /root/work190/mhr_server
8488 102:56 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp start

lrwxrwxrwx 1 root root 0 12-13 10:36 /proc/8502/cwd -> /root/work190/mhr_server
8502 259:40 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /root/work190/mhr_server/mhr.server.jar:/root/work190/mhr_server:/root/work190/mhr_server/lib/activation.jar:/root/work190/mhr_server/lib/admin.client.jar:/root/work190/mhr_server/lib/ant.jar:/root/work190/mhr_server/lib/commons-beanutils.jar:/root/work190/mhr_server/lib/commons-email-1.1.jar:/root/work190/mhr_server/lib/commons-logging-1.1.1.jar:/root/work190/mhr_server/lib/dsmp.client.jar:/root/work190/mhr_server/lib/ems.client.jar:/root/work190/mhr_server/lib/filters.jar:/root/work190/mhr_server/lib/htmlparser.jar:/root/work190/mhr_server/lib/hyjc.jar:/root/work190/mhr_server/lib/jcharset.jar:/root/work190/mhr_server/lib/jcommon-1.0.13.jar:/root/work190/mhr_server/lib/jdom-1.1.1.jar:/root/work190/mhr_server/lib/jfreechart-1.0.10.jar:/root/work190/mhr_server/lib/json-lib-2.2.2-jdk15.jar:/root/work190/mhr_server/lib/json.jar:/root/work190/mhr_server/lib/junit-4.1.jar:/root/work190/mhr_server/lib/log4j-1

lrwxrwxrwx 1 root root 0 12-12 09:09 /proc/15239/cwd -> /root/work190/exam_server
15239 115:05 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp start

lrwxrwxrwx 1 root root 0 12-13 10:36 /proc/18066/cwd -> /
18066 177:59 /usr/java/jdk1.6.0_20/bin/java -Djava.util.logging.config.file=/opt/apache/apache-tomcat-6.0.26/conf/logging.properties -Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/apache/apache-tomcat-6.0.26/endorsed -classpath /opt/apache/apache-tomcat-6.0.26/bin/bootstrap.jar -Dcatalina.base=/opt/apache/apache-tomcat-6.0.26 -Dcatalina.home=/opt/apache/apache-tomcat-6.0.26 -Djava.io.tmpdir=/opt/apache/apache-tomcat-6.0.26/temp org.apache.catalina.startup.Bootstrap start

lrwxrwxrwx 1 root root 0 12-12 18:25 /proc/26555/cwd -> /opt/omc08/src/ems_proxy
26555 6:37 java -classpath .:../../lib/jdom-1.1.jar:../../lib/log4j-1.2.15.jar:../../lib/hyjc.jar:../../lib/commons-email-1.1.jar:../../lib/mail.jar:../../lib/activation.jar ems.server.Main

lrwxrwxrwx 1 root root 0 12-14 10:02 /proc/27855/cwd -> /opt/imx/imx_server
27855 0:45 /usr/java/jdk1.6.0_20/jre/bin/java -classpath /opt/apache/apache-ant-1.8.1/lib/ant-launcher.jar -Dant.home=/opt/apache/apache-ant-1.8.1 -Dant.library.dir=/opt/apache/apache-ant-1.8.1/lib org.apache.tools.ant.launch.Launcher -cp start

lrwxrwxrwx 1 root root 0 12-14 10:02 /proc/27872/cwd -> /opt/imx/imx_server
27872 3:57 /usr/java/jdk1.6.0_20/jre/bin/java -Xmx1024m -classpath /opt/imx/imx_server/imx.server.jar:/opt/imx/imx_server/ima.server.jar:/opt/imx/imx_server/ida.server.jar:/opt/imx/imx_server:/opt/imx/imx_server/lib/commons-beanutils-1.8.3.jar:/opt/imx/imx_server/lib/commons-logging-1.1.1.jar:/opt/imx/imx_server/lib/ems.client.jar:/opt/imx/imx_server/lib/hyjc.jar:/opt/imx/imx_server/lib/jdom-1.1.1.jar:/opt/imx/imx_server/lib/json.jar:/opt/imx/imx_server/lib/junit-4.8.1.jar:/opt/imx/imx_server/lib/log4j-1.2.16.jar:/opt/imx/imx_server/lib/mysql-connector-java-5.1.12-bin.jar:/opt/imx/imx_server/lib/poi-3.6-ZHY-20100113.jar:/opt/imx/imx_server/lib/proxool-0.9.1.jar:/opt/imx/imx_server/lib/proxool-cglib.jar:/opt/imx/imx_server/lib/servlet-api.jar:/opt/imx/imx_server/lib/sms.client.jar imx.server.Main

[root@web imx_server]# sj.sh imx_server
27855 27872
[root@web imx_server]#

问题思考

相关资料

【1】symfony 中文    linux ps命令    
【2】保留心中的一片天    Linux下ps命令详解    
【3】linux.ie     :: New Users :: Beginners Linux Guide :: Using the ps command.     
【4】建站学     Linux下ps查找并用kill命令终止进程     
【5】飘渺的风   Linux ps 详解    
【6】时光漂流瓶    linux中ps命令的用法说明     
【7】鸟哥的Linux私房菜    ps :將某個時間點的程序運作情況擷取下來

返回 我使用过的Linux命令系列总目录

猜你喜欢

转载自codingstandards.iteye.com/blog/841996