O OSX usa o launchd para gerenciar todos os daemon que iniciam e param. Se você procurar no Google por "launchd" o primeiro resultado é o artigo da Apple sobre como usá-lo (eu teria apenas vinculado, mas o stackoverflow não me permite)
Para o que você está tentando fazer, sugiro que você simplesmente edite o arquivo launchd já existente do apache para apontar para o seu próprio binário. Em seguida, você pode controlá-lo usando o painel de preferências Compartilhamento. O arquivo está em /System/Library/LaunchDaemons/org.apache.httpd.plist