no hay tal error de proceso con el inicio de launchctl. Mac OSX 10.9

3

El objetivo es establecer el nombre de la red de la máquina con la dirección IP de esta máquina. He creado un archivo plist y lo puse en / Library / Launchagents /. Por razones de depuración utilicé el comando "launctl start". Aquí está mi archivo plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.myfile.hostname</string>

  <key>ProgramArguments</key>
  <array>
    <string>/usr/sbin/ipconfig</string>
    <string>getifaddr</string>
    <string>en0</string>
    <string>|</string>
    <string>/usr/bin/tr</string>
    <string>-d</string>
    <string>'.'</string>
    <string>|</string>
    <string>sudo</string>
    <string>/usr/sbin/scutil</string>
    <string>--set</string>
    <string>LocalHostName</string>
  </array>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardErrorPath</key>
  <string>/tmp/AlTest1.err</string>

  <key>StandardOutPath</key>
  <string>/tmp/AlTest1.out</string>
</dict>
</plist>

Luego uso:

launchctl start /Library/LaunchAgents/com.myfile.hostname.plist 

y recibe el error:

launchctl start error: No such process

Como el error no está explicando qué es exactamente lo que está mal en ese archivo, estoy intentando encontrar el motivo. El comando en sí mismo en el comando funciona bien. Si esta es la sección incorrecta para esta pregunta, por favor, consejo.

Gracias de antemano

    
pregunta whereismydipp 27.01.2014 - 11:44

5 respuestas

2

Intente usar el comando launchctl:

launchctl load /Library/LaunchAgents/com.myfile.hostname.plist

Esto cargará el ticket de trabajo en lugar de iniciar un trabajo con nombre.

No estoy seguro de que las canalizaciones estén permitidas dentro de una lista de argumentos de ticket de trabajo launchd. El uso de ellos requiere que el argumento se pase a un shell para su interpretación y esto puede no suceder. Considere pasar el comando directamente a /bin/sh como un solo argumento.

    
respondido por el Graham Miln 27.01.2014 - 11:55
0

No es que esto solucione tu problema (tengo el mismo problema) pero si haces una:

sudo launchctl load /Library/LaunchAgents/com.myfile.hostname.plist

Podría funcionar. Lo hizo por mí. Tal vez una pista en cuanto a lo que está sucediendo. Tal vez no. Déjame saber si solucionas este problema. Estamos todos juntos en esto.

    
respondido por el PsychicPuppy 06.03.2014 - 23:23
0

Las canalizaciones son una función de shell y launchd es no una shell. Coloque el comando en un script de shell en su lugar y haga que su trabajo llame a este script. También deshacerse del sudo en el script. Si necesita privilegios de root, almacene la definición de trabajo en /Library/LaunchDaemons en su lugar.

    
respondido por el LCC 07.03.2014 - 14:14
0

Eliminando los directorios principales que me funcionaron:

sudo launchctl start homebrew.mxcl.bind
    
respondido por el Keith Bennett 18.01.2015 - 23:06
-1

Eliminar la extensión, debería funcionar entonces.

launchctl start /Library/LaunchAgents/com.myfile.hostname
    
respondido por el vikramsingh 18.06.2014 - 11:03

Lea otras preguntas en las etiquetas