Configurando daemons no Mac OS X

4

Recentemente, cedi à tentação e comprei um novo MacBook - atualizei a RAM, adquiri AppleCare etc. e estou realmente me divertindo! Eu tenho configurado meu ambiente de desenvolvimento - compilando meu próprio Apache (construído em um é terrível, ou pelo menos ouvi falar), PHP e configurando tudo da maneira que eu quero.

Como não estou usando o Apache padrão, queria saber como configuro o Apache e outros aplicativos como daemons; rodando em segundo plano, muito parecido com os serviços do Windows.

Eu queria saber se algum de vocês tem alguma experiência com esse tipo de coisa, e se você poderia me dar uma mão.

    
por 4 revs, 3 users 67%anon 04.01.2010 / 23:23

5 respostas

6

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

    
por 20.05.2009 / 23:47
3

Você precisa usar launchd , a ferramenta da Apple para gerenciar todos os processos do sistema. O Launchd é um substituto unificado para uma grande quantidade de utilitários UNIX especializados que gerenciam diferentes partes deste (init, rc, etc, etc.).

A Apple cobre parte disso em seu site, mas eles têm um monte de documentos desatualizados misturados que descrevem técnicas obsoletas. Dan Benjamin tem um tutorial bem escrito sobre como instalar MySQL . Este é um guia muito bem escrito que irá ensinar-lhe os passos gerais de instalação do software unix / linux no Mac (sem depender de MacPorts ou Fink ). O tutorial do MySQL de Dan passa pela criação de um arquivo de configuração launchd.

Basicamente, você criará um arquivo de configuração xml (um arquivo plist ) que especifica o diretório de trabalho, qual usuário executar, etc. Você colocará esse arquivo em um diretório específico e depois diga ao launchd para carregá-lo, usando launchctl.

Ele também tem tutoriais para configurar o Ruby on Rails , que você pode achar útil, mas eu não pense que envolve qualquer daemons.

    
por 26.06.2012 / 21:06
1

Você vai querer olhar para o uso do launchd. Procure no site da Apple.

    
por 20.05.2009 / 23:47
0

Já faz um tempo ... mas acho que você só precisa adicionar o comando para iniciar o apache em / init / rc (é o mesmo que adicionar um serviço a outros sistemas operacionais baseados em * nix).

    
por 20.05.2009 / 23:47
0

Ainda não posso comentar ... Você realmente deve procurar as informações da Apple sobre o uso do launchd . Existem opções relacionadas ao fato de o daemon ser iniciado sob demanda (quando uma conexão TCP recebida acontece em uma porta especificada) ou executar uma vez na inicialização do sistema, configurando variáveis de ambiente, o que acontece se ele for encerrado, se executá-lo periodicamente etc. Há muitas possibilidades, e as melhores práticas são aprender o que está lá e fazer a melhor escolha para sua aplicação específica.

O Editor de lista de propriedades (em / Developer / Applications / Utilities) é bom para fazer e visualizar arquivos plist . Não tenho certeza, mas talvez seja necessário instalar o XCode (livre da Apple) para ter essa ferramenta.

    
por 04.01.2010 / 23:03