O launchd não executará o plist. Onde eu estou errando?

0

Eu estou tentando criar um plist para um executável unix. O executável funciona perfeitamente quando eu o executo no Terminal. No entanto, eu simplesmente não consigo executá-lo a partir do launchd. Aqui estão os passos que eu dei:

sudo touch /Library/LaunchDaemons/Parity.plist

sudo nano /Library/LaunchDaemons/Parity.plist

Então eu introduzo os seguintes dados:

<?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>Parity</string>
      <key>ProgramArguments</key>
        <array>
          <string>/usr/local/Cellar/parity/1.5.12/bin/parity</string>
          <string>start</string>
        </array>
      <key>RunAtLoad</key>
        <true/>
      <key>KeepAlive</key>
        <true/>
   </dict>
</plist>

Se eu corro:

sudo launchctl load /Library/LaunchDaemons/parity.plist

Eu recebo a resposta:

/Library/LaunchDaemons/Parity.plist: service already loaded  

Alguém tem alguma sugestão?

AlexanderSupersloth
fonte
você tem que descarregar primeiro: sudo launchctl unload... então carregue novamente sudo launchctl load...
Allan
@Allan Obrigado pela sua resposta. Eu segui o seu conselho, mas infelizmente não fez nenhuma diferença. Você tem alguma outra ideia?
AlexanderSupersloth
Tente removê-lo sudo launchctl remove... para removê-lo. Então recarregue.
Allan
@Allan Infelizmente isso também não funcionou. No entanto, descobri que quando corro launchctl list eu recebo - 1 Parity. Todo o resto tem um 0 ao lado dele.
AlexanderSupersloth
1
Ainda bem que pude ajudar. Poste sua solução como resposta para que você possa "aceitá-la" e eu posso votar em você por alguns pontos de reputação.
Allan

Respostas:

1

Acontece que a causa do erro foi um problema mal escrito - <string>start</string> estava instruindo o arquivo exec para executar um start comando ao iniciar o daemon, que estava causando a falha. Eu apaguei essa linha do problema e agora ela se comporta como eu pretendia.

AlexanderSupersloth
fonte