LaunchAgent se recusa a iniciar com o erro “launch_msg (): Socket is not connected”

3

Eu criei um pacote pkg para criar um LaunchAgent para iniciar um daemon, e no arquivo de script de pós-instalação usado desta maneira para iniciar o daemon:

launchctl load -s /Library/LaunchAgent/file-name.plist

Funcionou bem.

No entanto, há um problema: na primeira vez que o daemon foi iniciado, enquanto matava o daemon e reinstalava o LauchAgent, ele não podia iniciar ou matar o daemon. Vai dizer isso no terminal:

file-name.plist: Already loaded

Se eu reiniciar ou sair, ele poderá ser iniciado corretamente. Como posso consertar isso?

Modificando meu arquivo de script de pós-instalação para:

sudo -u $USER /bin/launchctl unload -S Aqua /Library/LauchAgent/file-name.plist
sudo -u $USER /bin/launchctl load -S Aqua /Library/LauchAgent/file-name.plist

conforme o comentário de @ Daniel corrigiu o problema anterior. Isso funcionou bem no Mac OS X 10.6 e 10.7, mas no 10.5, o daemon não pôde ser iniciado dessa maneira. Eu tentei o arquivo de script no terminal após a instalação. Aqui estão algumas informações:

launchctl:Error unloading: file-name.plist
launch_msg():Socket is not connected
    
por viwenver 25.10.2011 / 08:08

2 respostas

2

O problema que você encontrou surge quando você tenta carregar um LaunchAgent enquanto mais de um usuário está logado (ou seja, através de troca rápida de usuário). Veja esta mensagem de Quinn “The Eskimo” da Apple Developer Relations na lista de discussão launchd , e, para mais detalhes, esta mensagem dele em Old Nabble . Consulte as soluções (TL; DR: reinicialização).

Note que não tenho certeza se o problema existe apenas em 10.5 - não consegui localizar o problema do radar 5476420 vinculado por Quinn em Open Radar para confirmar seu status.

    
por 25.10.2011 / 11:51
0

Para funcionar em 10.5, use su em vez de sudo :

su "$USER" -c "/bin/launchctl unload -S Aqua /Library/LauchAgent/file-name.plist"
su "$USER" -c "/bin/launchctl load -S Aqua /Library/LauchAgent/file-name.plist"

Eu não sei por que eles se comportam de maneira diferente.

    
por 25.05.2012 / 19:09

Tags