13 votos

Cómo averiguar qué lanzar el agente o el demonio es el inicio de un proceso

Después de instalar Autodesk smoke, tengo dos procesos httpd corriendo todo el tiempo, y me gustaría parar. Cuando utilizo sudo killall httpd, se detienen y se reinicia de inmediato. Monitor de actividad muestra que el proceso padre es launchd, pero ¿cómo puedo determinar qué agente o demonio es el inicio de la misma, así que puedo desactivarlo?

launchctl list | grep httpd muestra estos resultados:
302 - 0x7f94ea700dd0.anónimo.httpd
92 - org.apache.httpd

Me miro en /System/Library/LaunchDaemons/org.apache.httpd.plist y se muestra el siguiente. Usted puede ver lo que está establecido en desactivado. El otro lanzó un elemento con un nombre raro no demuestra para arriba en un sistema de ficheros de búsqueda, así que no tengo idea de lo que es.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>EnvironmentVariables</key>
    <dict>
        <key>XPC_SERVICES_UNAVAILABLE</key>
        <string>1</string>
    </dict>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/httpd</string>
        <string>-D</string>
        <string>FOREGROUND</string>
    </array>
    <key>OnDemand</key>
    <false/>
</dict>
</plist>

6voto

Usted puede grep la salida de launchctl list el pid:

$ pgrep -fl foo
40679 bash /tmp/foo
$ launchctl list|grep 40679
40679   -   com.example.foo

Entonces, por ejemplo, busca un archivo llamado com.example.foo.plist en ~/Library/LaunchAgents/, /Library/LaunchAgents/o /Library/LaunchDaemons/.

Edit: la Movilidad de la clave puede ser reemplazado en /var/db/launchd.db/com.apple.launchd/overrides.plist, la cual es modificada cuando launchctl load -w se ejecuta como root, o en /var/db/launchd.db/com.apple.launchd.peruser.$UID/overrides.plist, la cual es modificada cuando launchctl load -w se ejecuta como el usuario.

Si el Apache plist que viene con OS X fue habilitado, usted puede desactivar mediante la ejecución sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist.

0voto

LCC Puntos 572

Esto le da a usted una lista de todas las definiciones de trabajo refiriéndose a httpd.

grep -lR httpd /System/Library/Launch*/ /Library/Launch*/ ~/Library/LaunchAgents/

0voto

Chris Cogdon Puntos 101

El comportamiento de launchctl ha cambiado en que si un servicio es la fuerza está activado, no modificar el contenido de la fuente .plist, pero un directorio independiente (que no debería modificar). Revise la página man de launchctl, y el "-w", bajo la opción de "carga" del comando. Así que, simplemente examinando el archivo no es necesario decirle si su discapacidad o no. Claramente no discapacitados :)

Tratar de "launchctl unload-w org.apache.httpd.plist". Si que funciona para usted, entonces usted todavía será capaz de iniciar en la demanda con "launchctl inicio org.apache.httpd.plist"

Si eso no funciona, trate de "launchctl quitar org.apache.httpd.plist" que no te deja iniciar manualmente.

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