nessun errore di questo tipo con avvio launchctl. Mac OSX 10.9

3

L'obiettivo è impostare il nome della rete della macchina con l'indirizzo IP di questa macchina. Ho creato un file plist e lo metto in / Library / Launchagents /. Per motivi di debug ho usato il comando "launctl start". Ecco il mio file 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>

Quindi utilizzo:

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

e ottieni l'errore:

launchctl start error: No such process

Come l'errore non sta spiegando che cosa è esattamente sbagliato in quel file che sto cercando di trovare il motivo. Il comando stesso sul comando funziona bene. Se questa è la sezione sbagliata per questa domanda per favore consiglio.

Grazie in anticipo

    
posta whereismydipp 27.01.2014 - 11:44
fonte

5 risposte

2

Prova a utilizzare il comando launchctl:

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

Questo caricherà il job ticket anziché avviare un lavoro con nome.

Non sono sicuro che le pipe siano consentite all'interno di un elenco di argomenti di job ticket di launchd. Usarli richiede l'argomento da passare a una shell per l'interpretazione e questo potrebbe non accadere. Considera di passare il comando direttamente a /bin/sh come singolo argomento.

    
risposta data 27.01.2014 - 11:55
fonte
0

Non che questo risolva il tuo problema (ho lo stesso problema) ma se fai un:

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

Potrebbe funzionare. Lo ha fatto per me. Forse un indizio su cosa sta succedendo. Forse no. Fammi sapere se risolvi questo problema. Siamo tutti in questo insieme.

    
risposta data 06.03.2014 - 23:23
fonte
0

I pipe sono una funzione di shell e launchd è non una shell. Metti invece il comando in uno script di shell e fai in modo che il tuo lavoro chiami questo script. Elimina anche sudo nello script. Se hai bisogno dei privilegi di root, invece, memorizza la definizione del lavoro in /Library/LaunchDaemons .

    
risposta data 07.03.2014 - 14:14
fonte
0

La rimozione delle directory principali ha funzionato per me:

sudo launchctl start homebrew.mxcl.bind
    
risposta data 18.01.2015 - 23:06
fonte
-1

Rimuovi l'estensione, dovrebbe funzionare allora.

launchctl start /Library/LaunchAgents/com.myfile.hostname
    
risposta data 18.06.2014 - 11:03
fonte

Leggi altre domande sui tag