GNU/Linux >> Tutoriales Linux >  >> Linux

viendo salida de ps aux | grep blah en tmux no funcionará?

Ejecutar

watch "COLUMNS= ps aux | grep TheProcessYouWatch"

Explicación:watch establece ciertas variables de entorno adicionales, a saber, COLUMNS y LINES . Esto se puede verificar fácilmente comparando env | grep COLUMNS y watch 'env | grep COLUMNS' .

Cuando COLUMNS está configurado, ps trunca su salida a esa cantidad de caracteres en una línea, incluso si la salida se canaliza a grep (O algo más). (ps , ¿Por qué me haces esto?). Forzando COLUMNS estar vacío dentro de watch El comando de es suficiente para hacer ps funciona como OP (y yo) esperaba.

Por cierto, para evitar watch y grep los procesos son parte de su salida observada, considere agregar [] así:

watch "COLUMNS= ps aux | grep [T]heProcessYouWatch"

(Por supuesto, recomendaría familiarizarse con pgrep también. Otras respuestas serán útiles con esto).


Como se menciona en la edición de preguntas y la respuesta de xzfc, el problema parece estar relacionado con el ajuste de línea de tmux. Para algo más cercano a un reemplazo directo de ps aux | grep [q]uote , si no necesita información de usuario, intente:

$ pgrep -af [q]uote
392 bash -c sleep 5 && echo quote
399 bash -c sleep 5 && echo second quote

$ watch pgrep -af [q]uote

El -a flag hace que la salida incluya los argumentos de la línea de comandos, mientras que -f le permite buscar los argumentos de la línea de comando, así como solo el nombre del proceso.


ps es una utilidad que produce resultados legibles por humanos, y confiar en grepping texto legible por humanos es una mala idea. Deberías usar pgrep myShittyProcess en lugar de ps aux | grep myShittyProcess . pgrep produce una lista simple de pids, y si desea una salida menos aburrida, puede pasar pgrep salida de ps :

ps -opid,user,args -p `pgrep myShittyProcess`

Para usar esa frase con watch debe encerrarlo en ' ' (no " " ) para evitar la sustitución anticipada de comandos de shell:

watch 'ps -opid,user,args -p `pgrep myShittyProcess`'

Linux
  1. ¿Conseguir que 256 colores funcionen en Tmux?

  2. ¿Tmux no obtiene el .tmux.conf?

  3. ¿Vim no se ejecuta dentro de Tmux?

  4. Linux:¿los auriculares no funcionan en Linux Mint 18?

  5. ¿Por qué `exit &` no funciona?

¿\d no es compatible con las expresiones básicas de grep?

significado de la salida auxiliar ps

observe la salida de un comando hasta que se observe una cadena en particular y luego salga

La repetición automática no funciona

¿Dejar de ver la salida de un programa en particular después de usar el comando watch?

Cómo grep salida ps con encabezados