El otro día me encontré con un problema que me pareció realmente curioso y al cual no le encontraba ninguna explicación. En una máquina FreeBSD ejecutaba el comando ps para buscar unos procesos php y según el tamaño de la ventana de la terminal mostraba todos o no.
Con la terminal en tamaño estandar, se mostraba lo siguiente:
$ ps aux | grep php user 4482 0.0 0.0 3352 812 pts/0 S+ 19:12 0:00 grep php
En cambio, maximizando la terminal sí que aparecía el proceso correspondiente:
$ ps aux | grep php user 2607 6.4 1.3 26176 14396 ? S 19:15 0:03 php /home/user/script.php user 4482 0.0 0.0 3352 812 pts/0 S+ 19:12 0:00 grep php
Bueno, el problema tenía como origen en que si no le pasamos el parámetro «w» al comando ps, el número de columnas a mostrar se adecuaba al tamaño de la ventana, mientras que con w utiliza el valor por defecto de columnas, 132. En la página man encontramos lo siguiente:
-w Use 132 columns to display information, instead of the default which is your window size. If the -w option is specified more than once, ps will use as many columns as necessary without regard for your window size.
Así que la solución, ps auxw
Yo tambien he visto eso desde ssh bajo windows en distros centos, como bien indicas con el atributo w te muestran todas las columnas y como indican en el man si por ejemplos pones ps awwxu, si excedieran las 132 tb te lo mostraria, alguna vez lo he tenido que utilizar cuando hay scripts a mano lanzados o hacks php, en sistemas plesk, se pueden disparar los directorios desde los que se ejecutan php y el atributo w puede resultar muy util, te puedes encontrar un directorio del tipo /var/www/vhosts/pepitodelospalotes.com.es/httpdocs/oscommerceviejo/images_con_todos_los_derechos/.sys.php.
Efectivamente, porque además no solo pasa en sesiones de ssh por ventana, sino también dentro de scripts, ejecuciones por cron, etc.
Saludos