Podemos instalar GNU coreutils a través de brew
. Pero no hay ps
en las utilidades . ¿Podemos usar gnu ps
en OS X?
Me gustaría usar GNU ps
ya que tiene más opciones y características.
macos
command-line
Sanghyun Lee
fuente
fuente
ps
ops -ef
en una terminal en OSX? funciona para mí en OSX 10.7.5 sin modificaciones, en dos máquinas diferentes. Está en / bin / psps
porque tiene más opciones y características.Respuestas:
No hay un programa ps portátil. El comando ps disponible en Linux es, como otros han mencionado, del paquete "procps". La razón por la cual esto no se puede portar a OSX es porque los núcleos Linux y OSX no exponen esta información de la misma manera. Linux usa un pseudo-sistema de archivos en / proc, mientras que OSX usa la función sysctl. Otros sistemas pueden usar cualquiera de los mecanismos pero proporcionar datos en un formato diferente, o pueden requerir programas como ps para leer directamente desde la memoria del kernel.
En general, no existe un estándar sobre cómo la información del proceso está disponible para programas como ps y top; entonces el programa tiene que estar diseñado para un sistema operativo específico. Si falta una característica específica del OSX ps, tendrá que buscar otro programa que pueda hacerlo, o escribir uno usted mismo (consulte el manual de sysctl, en particular KERN_PROC como punto de partida), o modifique el ps existente comando para agregar la función.
Alternativamente, si puede obtener lo que necesita analizando la salida del comando ps, puede escribir un programa portátil: la salida con la
-o
opción es razonablemente confiable en todas las plataformas, especialmente si se refiere al estándar UNIX para nombres de columna para usar.fuente
/proc
sistema de archivos el único método que proporciona el kernel de Linux para obtener una lista de procesos, o también hay llamadas separadas al sistema que proporcionan esa información?No, ya que no existe. En cuanto a por qué no hay
ps
uncoreutils
paquete incorporado en GNU , vea esta respuesta en los foros de Unix y Linux.La mejor fórmula alternativa disponible a través de Homebrew es
psgrep
:Dicho esto, todavía puede usar
psgrep
para comportarse como lops
haría OS X's . Por ejemplo:pgrep
también está disponible a travésbrew
, que es sintácticamente más cercaps
, pero menos eficiente quepsgrep
:Todo el énfasis es mío.
fuente
pgrep
también forma parte de versiones recientes de OS Xtype -a pgrep
pgrep is /usr/local/bin/pgrep
pgrep is /usr/bin/pgrep
proctools
paquete de MacPorts o Homebrew proporcionapgrep
ypkill
que es lo que personalmente estaba buscando cuando aparecí aquí.ps
no es parte de los coreutils de GNU según Wikpedia . La versión que viene con mi distribución de Linux parece ser de procps , pero parece que no hay una fórmula para ello en homebrew. Hay fórmulas para laspstree
que puede darle excelentes vistas de árbol, y tambiénhtop
es otro buen visor de procesos.fuente