Otras lecturas

Otras lecturas

¿Cuál es la diferencia entre los procesos enumerados por psy ps -A?

Respuesta1

sin -A, ps solo imprimirá los procesos que pertenecen a la sesión actual. Piense en ello como "absolutamente todo". En una nota relacionada, -ahace lo mismo, pero restringiéndolo al propietario de la sesión (nombre de usuario).

Respuesta2

El comando GNU pssufre un caso grave de trastorno de personalidad múltiple. Por eso no es de extrañar que la página del manual sea confusa. Quizás un vistazo a los manuales de BSD pueda ayudar. Después de todo, esta preguntaesetiquetado.

El funcionamiento de BSD pses bastante sencillo si se tienen dos cosas en mente:

  • Los procesos se seleccionan para su visualización utilizando dos filtros básicos. Esos filtros sonende forma predeterminada y las opciones de línea de comando las activanapagado. La simpleza sin adornos psse filtra así a través de ambos.
  • La sintaxis BSD se remonta a mucho tiempo atrás. Aunque los BSD modernos utilizan getoptla convención de opciones precedida por un signo menos, las opciones y el comportamiento relevantes aquí son muy similares a los de hace 30 años.

Ese comportamiento es este:

  • La opción -a(históricamente a)apagatodo el filtrado "selector".
    • Las otras opciones de la línea de comando especifican selectores: -Uselecciona por UID, -tcontrolando el nombre del terminal, -pselecciona por ID de proceso, etc. Todos estos son omitidos por -a.
    • Si no se proporcionan selectores explícitamente, elselector predeterminadoes mostrar solo los procesos que se ejecutan con el mismo UID efectivo que el usuario que invocó ps. Este selector predeterminado es el filtro histórico que esta opción desactiva.
  • La opción -x(históricamente x)apagala restricción de que pssolo muestren procesos que tengan un terminal de control.

Históricamente, BSD psno tenía otra Aopción. Pero los BSD modernos implementan una -Aopción, también utilizable como A, para (un grado de) compatibilidad con la (posterior) Especificación Única UNIX. -Aes simplemente lo mismo que usar ambos -ay -x: desactiva ambas restricciones, dejando una con todos los procesos, sin filtrar.

OpenBSD y NetBSD documentan la -Aopción, en el caso de NetBSD explícitamente como -a -x. FreeBSD no lo hace, pero un comentario en el código fuente indica que existe como una opción de compatibilidad SUSv5 intencionalmente no documentada.

Otras lecturas

  • ps13 de abril de 1983. 4.2 Páginas del Manual BSD.
  • psPáginas del Manual de OpenBSD.
  • ps2009-10-22. Páginas del Manual de NetBSD.
  • ps2014-08-07. Páginas del Manual de FreeBSD.

información relacionada