代码改变世界

OpenSolaris下面的ps命令如何显示进程的完整命令行

2015-04-21 15:45  programmer022  阅读(918)  评论(0)    收藏  举报

Solaris 10的/usr/bin目录下面的ps命令所能显示的命令行的长度有80字符的限制。比如,

# ps -ef | grep java
    root   744   743   0   Apr 22 ?           3:51 /usr/jdk/jdk1.6.0_13/bin/java
 -Xms4M -Xmx128M -Dcom.sun.management.jmxremote -D

如果要显示完整的命令行,可以用Solaris 10提供的另一个版本的ps命令,在/usr/ucb目录下面。使用的时候加-axww选项。

# /usr/ucb/ps -axww

   744 ?        S  3:50 /usr/jdk/jdk1.6.0_13/bin/java -Xms4M -Xmx128M -Dcom.sun.
management.jmxremote -Dfile.encoding=utf-8 -Djava.endorsed.dirs=/usr/lib/cacao/l
ib/endorsed -classpath /usr/share/lib/jdmk/jdmkrt.jar:/usr/share/lib/jdmk/jmxrem
ote_optional.jar:/usr/lib/cacao/lib/cacao_cacao.jar:/usr/lib/cacao/lib/cacao_j5c
ore.jar:/usr/lib/cacao/lib/bcprov-jdk14.jar -Djavax.management.builder.initial=c
om.sun.jdmk.JdmkMBeanServerBuilder -Dcacao.print.status=true -Dcacao.config.dir=
/etc/cacao/instances/default -Dcacao.monitoring.mode=smf -Dcom.sun.cacao.ssl.key
store.password.file=/etc/cacao/instances/default/security/password com.sun.cacao
.container.impl.ContainerPrivate

 

但OpenSolaris的/usr/ucb目录下面已经找不到ps命令了,该怎么办呢?

查看OpenSolaris的源码,发现原来OpenSolaris把两个ps命令合二为一了。

如果选项前面不带中横线,则切换到ucb版本的ps特性。

# ps -ef | grep java
    root   744   743   0   Apr 22 ?           3:51 /usr/jdk/jdk1.6.0_13/bin/java
 -Xms4M -Xmx128M -Dcom.sun.management.jmxremote -D

# ps axww | grep java
   744 ?        S  3:50 /usr/jdk/jdk1.6.0_13/bin/java -Xms4M -Xmx128M -Dcom.sun.
management.jmxremote -Dfile.encoding=utf-8 -Djava.endorsed.dirs=/usr/lib/cacao/l
ib/endorsed -classpath /usr/share/lib/jdmk/jdmkrt.jar:/usr/share/lib/jdmk/jmxrem
ote_optional.jar:/usr/lib/cacao/lib/cacao_cacao.jar:/usr/lib/cacao/lib/cacao_j5c
ore.jar:/usr/lib/cacao/lib/bcprov-jdk14.jar -Djavax.management.builder.initial=c
om.sun.jdmk.JdmkMBeanServerBuilder -Dcacao.print.status=true -Dcacao.config.dir=
/etc/cacao/instances/default -Dcacao.monitoring.mode=smf -Dcom.sun.cacao.ssl.key
store.password.file=/etc/cacao/instances/default/security/password com.sun.cacao
.container.impl.ContainerPrivate