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.
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.
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.
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.
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 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.