evita que launchctl inicie un proceso anónimo

2

He instalado dnsmasq y ahora quiero poder iniciarlo con launchctl. El problema es que cada vez que inicio la aplicación launchctl comienza un proceso anónimo en lugar de usar la etiqueta especificada.

10247   -   0x100107c30.anonymous.dnsmasq
-       0   com.example.dnsmasq

Pero quiero que sea

10247    0  com.example.dnsmasq

El problema con el proceso anónimo es que no puedo detenerlo con launchctl. Cuando corro

launchctl stop com.example.dnsmasq

el proceso anónimo sigue vivo.

Aquí está mi archivo de propiedades:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.dnsmasq</string>    
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/sbin/dnsmasq</string>
        <string>-p</string>
        <string>2155</string>
        <string>-R</string>
        <string>-A</string>
        <string>/.dev/127.0.0.1</string>
        <string>-x</string>
        <string>/usr/local/var/run/dnsmasq.pid</string>
    </array>
  <key>RunAtLoad</key>
  <false/>
  <key>KeepAlive</key>
  <false/>
</dict>
</plist>

¿Alguna idea sobre cómo solucionar este problema?

    
pregunta Mato 08.05.2011 - 01:00

1 respuesta

6

Eso no es en realidad launchctl creando un nuevo proceso; Es muy probable que sea dnsmasq en sí mismo. Si fork() s en el fondo, launchd no puede decirlo; luego, cuando habla con launchd , launchd crea una entrada anónima para él. Asegúrate de que dnsmasq no esté en segundo plano.

(El - listado para la salida regular launchctl list indica que el proceso original dnsmasq se cerró).

    
respondido por el geekosaur 08.05.2011 - 01:08

Lea otras preguntas en las etiquetas