¿Cómo puedo evitar que aparezca 'grep' en los resultados de ps?

¿Cómo puedo evitar que aparezca 'grep' en los resultados de ps?

Cuando busco algún proceso que no existe, por ejemplo

$ ps aux | grep fnord                          
wayne    15745  0.0  0.0  13580   928 pts/6    S+   03:58   0:00 grep fnord

Obviamente no me importa grep, ¡eso tiene tanto sentido como buscar el psproceso!

¿Cómo puedo evitar que grep aparezca en los resultados?

Respuesta1

Resulta que se ha encontrado una solución enllavero.

$ ps aux | grep "[f]nord"

Al colocar corchetes alrededor de la letra y comillas alrededor de la cadena, busca la expresión regular, que dice: "Encuentre el carácter 'f' seguido de 'nord'".

Pero como puso los corchetes en el patrón, 'f' ahora va seguida de ']', por lo que grepno aparecerá en la lista de resultados. ¡Bien!

Respuesta2

Otra opción que uso (especialmente para ver si se está ejecutando un proceso) es el pgrep comando. Esto buscará un proceso coincidente, pero no incluirá una línea grep para la búsqueda. Me gusta porque es una forma rápida de buscar, sin hacer regexing ni escapar de nada.

pgrep fnord

Además, para imprimir tanto el ID del proceso como el nombre del proceso que coincide, utilice (graciasfemme)

pgrep -l fnord

Respuesta3

La solución ideal es la que presenta BriGuy

pgrep fnord 

Pero si no desea hacer eso, puede simplemente excluir todas las líneas que coincidan congrepcon:

ps aux | grep -v grep | grep "fnord"

Respuesta4

En zsh, grep fnord =(ps aux).

La idea es, primero ejecutar ps aux, poner el resultado en un archivo y luego usarlo grepen ese archivo. Solo que no tenemos un archivo, ya que usamos la "sustitución de procesos" de zsh.

Para ilustrar, intente

ps aux > ps.txt
grep fnord ps.txt
rm ps.txt

El resultado debería ser el mismo.

Comentario generalen algunas de las otras respuestas. Algunos son demasiado complicados y/o largos de escribir. No se trata sólo de tener razón, sino que también debe ser utilizable. Pero eso no significa que algunas de esas soluciones sean malas; Sólo que deben estar envueltos dentro de una mini-UI para que sean utilizables.

información relacionada