¿Cómo mostrar una lista de procesos que se inician al iniciar sesión?

4

Hay algunos procesos que se inician con un inicio de sesión, ¿cómo obtener una lista de estos procesos?
Quiero evitar que algunos procesos se inicien automáticamente.

    
pregunta Chiron 18.06.2011 - 22:07

2 respuestas

2

launchd y el panel de elementos de inicio de sesión de las preferencias de Cuentas son los dos lugares que normalmente inician un proceso al iniciar sesión.

Si no ve el elemento en Preferencias del sistema - > Cuentas - > cuenta específica - > Los elementos de inicio de sesión tendrán que buscar en launchd.

Básicamente, las carpetas LaunchAgents y LaunchDaemons en ~ / Library

Por último, si no están allí, entonces es una tarea launchd a nivel del sistema que quizás quieras usar launchctl para mostrar o buscar en / Library en lugar de la biblioteca de nivel de usuario.

La mayoría de las personas solo tienen que administrar el panel de preferencias. Aquí hay una foto mía que muestra el Monitor de actividad seleccionado y listo para ser eliminado si presiono el botón - .

    
respondido por el bmike 18.06.2011 - 22:12
1

Debes investigar launchctl(1) porque hay un par de contextos que deberás tener en cuenta.

La forma más fácil es mirar los archivos plist en:

/ System / Library / LaunchDaemons # System Context. Sin rostro La raíz vive aquí. / System / Library / LaunchAgents # Loginwindow, o Aqua, donde vive, contexto / Library / LaunchDaemons / Biblioteca / Agentes de lanzamiento ~ / Library / LaunchDaemons ~ / Library / LaunchAgents

En el archivo verá el estado predeterminado de ese daemon o agente. Esa es una forma segura de saber si se está ejecutando en el arranque.

Menciono el anterior método degradante, tonto y que consume tiempo, porque es bueno ver todo lo que se está ejecutando. Afirman que los recursos utilizados son bajos para un demonio cargado pero inactivo, pero como el 95% de ellos están configurados en RunOnDemand ... para mí que se está ejecutando.

En realidad no hagas eso de verdad. Hay una manera mucho más fácil.

Recuerda

Cuando inicias sesión y abres Terminal / iTerm, estás en el contexto Aqua .

El contexto de

Ventana de inicio de sesión es cuando ves la ventana de inicio de sesión, como era de esperar, y un montón de cosas corren fuera de eso.

Si usted

sudo zsh  # why not be comfortable?

o algún otro método para obtener un shell raíz, el usuario raíz estará en el contexto de Sistema , que es el contexto en el que se ejecutan todos los demonios en / System / Library / LaunchDaemons.

Menciono todo esto porque la herramienta proporcionada:

man 1 launchctl

tiene un verbo,

launchctl list

que podría pensar de la página de manual, enumera todos los servicios en ejecución. Puede sentirse plausible, cambiar a raíz, para obtener una vista de nivel superior de lo que se ejecuta cuando inicia sesión.

Lamentablemente, cada usuario ve su propio contexto.

launchctl managername 

te dirá lo que es.

Para root, su sistema. De mi ingenioso usuario administrador oculto, es Fondo , que es lo mismo que obtienes al escribir

>console

en el cuadro de nombre de usuario para iniciar sesión

Puedes usar el verbo

launchctl bslist  

Lo que le dice qué servicios están activos, para usted . Es diferente para _spotlight, para el administrador oculto, para root, para macports, etc.

Respuesta

El comando para ver el árbol completo, es

sudo launchctl bstree [-j]

todo lo que vea cuando lo ejecute después del arranque es lo que se ejecuta en todo el sistema. Para su identidad:

launchctl bslist 
    
respondido por el chiggsy 19.09.2011 - 01:37

Lea otras preguntas en las etiquetas