26 votos

Puedo usar GNU ps en OS X?

Podemos instalar GNU coreutils a través de brew. Pero no hay ps en la utils. Podemos usar gnu ps en OS X?

Me gustaría utilizar GNU ps , ya que tiene más opciones y características.

29voto

gozzilli Puntos 121

No hay ningún portátil ps programa. El comando ps disponibles en linux es, como otros han mencionado, a partir de la "procps" paquete. La razón por la que esto no puede ser portado a OSX es porque Linux y OSX kernels no exponga esta información de la misma manera. Linux usa un pseudo-sistema de archivos en /proc, mientras que OSX utiliza el sysctl función. Otros sistemas pueden utilizar tanto el mecanismo, pero que proporcionan los datos en un formato diferente, o puede requerir de programas como ps para leer directamente desde la memoria del kernel.

En general no hay ningún estándar de cómo procesar la información está disponible para programas como ps y superior; por lo que el programa debe estar diseñado para un sistema operativo específico. Si hay una característica específica de la falta de la OSX ps, tendrás que buscar otro programa que puede hacerlo, o escribir uno mismo (mira el sysctl manual, en particular KERN_PROC como punto de partida), o modificar el existente comando ps para añadir la característica.

Alternativamente, si usted puede conseguir lo que usted necesita al analizar la salida del comando ps sí, usted puede ser capaz de escribir un programa portable - la salida con el -o opción es razonablemente confiables a través de plataformas, en especial si se refieren a la de UNIX estándar para los nombres de columna a utilizar.

14voto

Goldorak84 Puntos 116

No, ya no existe. En cuanto a por qué no hay builtin ps en GNU coreutils paquete, vea esta respuesta en el Unix Y Linux en Foros.

La mejor fórmula alternativa disponible a través de Homebrew es psgrep:

psgrep es un pequeño shell Bash script que busca en la lista de procesos (como los obtenidos por ps(1) ) el uso de la impresionante utilidad grep(1) para su alimentación.

Dicho esto, usted todavía puede usar psgrep a comportarse como OS X ps lo haría. Por ejemplo:

   OPTIONS
   -a     Search the process list using BSD's "ps aux" format. This option
          includes all users' processes in the search.

   -b     Search the process list using BSD's "ps  ux"  format  (default).
          This option only includes the running user's processes.

pgrep también está disponible a través de la brew, que es sintácticamente más cerca de ps, pero es menos eficaz que psgrep:

psgrep(1) es más útil que pgrep(1) porque no sólo se puede buscar en la lista de procesos y devolver un PID, puede dar más información útil, tales como su UID, GID, la memoria/uso de la CPU, la amabilidad, y cualquier otra cosa apoyado por el ps.


Todo el énfasis es mío.

8voto

Brian Campbell Puntos 101107

ps no es parte de GNU coreutils de acuerdo a la Wikpedia. La versión que viene con mi distribución de Linux parece ser de procps, pero parece que no hay ninguna fórmula para que en el homebrew. Hay fórmulas para pstree que le puede dar un gran árbol de vistas, y también htop es otro buen visor de proceso.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X