2013-10-25 9 views
6

Upgrade auf Mavericks und jetzt launchd/Lingon kann Ruby-Skripte nicht starten. Ich habe die Dateien ausführbar sein gesetzt (mit chmod + x), und haben die ersten Zeilen aufVerwenden von Launched mit Mavericks und Ruby

#!/usr/bin/ruby 

Allerdings habe ich immer in Console die folgende Fehlermeldung erhalten:

com.apple.launchd.peruser.501[169] (craig.logging[754]): Exited with code: 1 

dass a Berechtigungen Fehler, aber ich habe keine Ahnung, welche Berechtigungen zu beheben oder zu ändern. Das Skript läuft im Terminal mit Ruby gut.

Das macht mich verrückt.

Aktualisieren: die Ruby-Skripts, die das Problem verursachen, schreiben ihre Ausgabe in eine andere Datei, z. B. in meine Dropbox. Aber ich führe die launchd-Dateien als ich selbst aus, die Administratorrechte haben, um in diese Dateien zu schreiben. Keine Ahnung, was schief läuft ...]

Update 2: Habe mit Applescript begonnen, um das Terminal zu starten und meine Skripte laufen zu lassen, aber das ist ziemlich tollpatschig und unelegant. Hat jemand sonst einen Einblick, warum launchd keine Skripte ausführt, die ihre Ausgabe in Dateien schreiben? Oder hat jemand Erfolg mit Skripten, die das tun?

Update 3: Die Fehler wurden aufgrund von Codierungsproblemen ausgelöst. Ich musste file.open (path/to/file, encoding: 'UTF-8') speziell einstellen, damit die Skripte funktionieren.

Danke an alle.

+0

Haben Sie versucht, diskutil repairPermissions/ – Jon

+0

Yep-hat den Fehler nicht geändert. – craigeley

+0

Ich musste repairPermissions ausführen und den Rechner neu starten, bevor mein LaunchDaemon arbeitete – Jon

Antwort

1

Ich hatte das gleiche Problem auf einer Mavericks-Box mit mehreren Ruby-Skripten, die ich eingerichtet habe, um in verschiedenen Intervallen zu laufen. Ich stellte fest, dass mein neues MacBook Pro, das mit Mavericks geliefert wurde, die gleichen Skripte von launchd aus einstellte, während dieser Computer, auf dem das Betriebssystem aktualisiert wurde, fehlerfrei war. Am Ende löschte ich die Maschine und installierte Mavericks (und alles andere) von Grund auf neu, und dann begann die Planung der Skripts zu funktionieren.

Nicht die empfindlichste Antwort, ich weiß, aber arbeitete für mich ™.

1

Ich bin immer noch nicht ganz sicher, warum, aber die Berechtigungen Fehler wurden wegen der Codierung Probleme ausgelöst. Ich musste dies speziell tun:

File.open(path/to/file, encoding: 'UTF-8')  

für die Skripts zu arbeiten.

Vielen Dank für Ihre Hilfe.

Verwandte Themen