title: Process listings on Solaris parent: FAQ --- # Why use pst3 for check\_procs on Solaris? Solaris systems restrict the information that is available when you run `ps`. On other Unix systems, running `ps` will list you the entire arguments, but Solaris restricts the arguments to the first 64 characters at the kernel. This is a problem if you need to access the arguments to find out a specific process (common for listing Java programs). `/usr/ucb/ps` does list the full arguments, but only for your own processes. If you are root, then running `/usr/ucb/ps` can get the full arguments for all processes. However, the columns for `RSS` and `VSZ` merge together when the values are too large and `check_procs` cannot pull the value out correctly. The chosen approach is to create our own `ps`-like command, `pst3`. This outputs the required information in a known format for `check_procs` to parse. This is the default if you run `./configure` on a Solaris system. Because `pst3` needs access to some kernel structures, it needs to be compiled in 32 and 64 bit modes. If you are comfortable with the limitations, it is possible to use a Solaris `ps` command by specifying these options to `./configure`: --with-ps-command="/usr/bin/ps -eo 's uid pid ppid vsz rss pcpu etime comm args'" \ --with-ps-format="%s %d %d %d %d %d %f %s %s %n" \ --with-ps-cols=10 \ --with-ps-varlist="procstat,&procuid,&procpid,&procppid,\ &procvsz,&procrss,&procpcpu,procetime,procprog,&pos" The `--with-ps-varlist` should be on one line - separated here for readability.