Mac: Führen Sie den Bildschirmbefehl von launchctl aus
Ich habe ein Python-Skript, das ich auf einem Mac beim Systemstart in einer separaten Bildschirmsitzung ausführen möchte.
Die Python-Datei ( foo.py
):
import time import datetime while True: print 'hello', datetime.datetime.now() time.sleep(2)
Das Shell-Skript, das es aufruft ( run_foo.sh
):
#!/bin/bash username=`whoami` _python=`which python` screen -dm -S run_foo $_python /Users/$username/foo.py
Die Plist, die das Shell-Skript aufruft: https://gist.github.com/cooncesean/6617008
===========
Das Python-Skript läuft einwandfrei:
> python foo.py hello 2013-09-18 21:20:22.132170 hello 2013-09-18 21:20:24.133420 hello 2013-09-18 21:20:26.134697 ...
Das Shell-Skript, das das Python-Skript aufruft, kann problemlos von alleine ausgeführt werden:
> sh run_foo.sh There is a screen on: 1922.run_foo (Detached) 1 Socket in /var/folders/4z/0413fcs523l8nz12xbvng0bh0000gn/T/.screen. > screen -r run_foo hello 2013-09-18 21:24:57.243103 hello 2013-09-18 21:24:59.244349
Beim Laden der Plist (die das Shell-Skript aufruft, das den Bildschirm erstellt und das Python-Skript ausführt), verbleibt mir eine Dead-Screen-Sitzung, die gelöscht werden muss.
> launchctl load ~/Library/LaunchAgents/start-foo.plist > screen -list There is a screen on: 1951.run_foo (Dead ???) Remove dead screens with 'screen -wipe'. 1 Socket in /var/folders/4z/0413fcs523l8nz12xbvng0bh0000gn/T/.screen.
UPDATE: Es scheint, dass Sie mit launchd keinen Daemon aufrufen können (in diesem Fall screen
) und eine Ausnahme auslöst. Wie startet man also eine Bildschirmsitzung beim Start auf einem Mac? Crontab?
0 Antworten auf die Frage
Verwandte Probleme
-
3
Warum stürzt der Macbook Pro Unibody im Ruhezustand unter Windows ab?
-
2
iTunes auf dem Mac: Wie verwendet man eine externe Musikbibliothek auf einem NAS (Windows-Freigabe)?
-
4
Wie kann ich ein ISO-CD-Image auf einem Mac in das bin / cue-Format konvertieren?
-
6
Wie können Sie den Startton auf einem Mac stummschalten?
-
5
Warum wird mein Macbook bei der Verwendung von Boot Camp extrem heiß?
-
5
Das Macbook Pro stößt ständig alles aus, was ich in das interne optische Laufwerk eingelegt habe
-
4
Gibt es Alternativen zu TextExpander unter Mac OS X?
-
6
Weg, um Time Machine-Daten auf eine neue Festplatte zu migrieren
-
13
Setzen Sie die Windows-Position von Mac OS X nach dem Abnehmen des externen Monitors zurück
-
2
Wie ordnen Sie eine Mac-Tastatur dem PC-Layout zu?