mehrere Scripte gleichzeitig ausführen?

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von Dominus, 07.11.2009.

  1. Dominus

    Dominus Thread Starter Active Member

    Registriert seit:
    16.10.2009
    Beiträge:
    25
    Zustimmungen:
    2
    Hi,
    ich hab das Problem, daß wenn ich AppleScript benutze um ein Programm auszuführen, ich keine andere Scripte ausführen kann, solange das Program nicht geschlossen wurde.

    Zum Beispiel
    Code:
    on run
    	do shell script "WINEDEBUG=-all LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib FONTCONFIG_FILE=/opt/local/etc/fonts/fonts.conf DYLD_FALLBACK_LIBRARY_PATH=/usr/X11/lib /opt/local/bin/wine ~/.wine/dosdevices/d:/totalcmd/totalcmd.exe"
    end run
    Erste wenn ich den TotalCommander/Wine schließe, kann ich andere Scripts ausführen. Gibt's da was, was ich im Script angeben muss, oder klappt das nur, wenn ich das Script als Programm speichere?
     
  2. oneOeight

    oneOeight MU Mitglied

    Registriert seit:
    23.11.2004
    Beiträge:
    45.973
    Zustimmungen:
    3.512
    Ort:
    Ruhrgebiet
    du musst das ganze im shell aufruf mit & machen, damit der shell job in den hintergrund gepackt wird.
    sonst wartet applescript halt auf das ende vom shell script.
     
  3. Dominus

    Dominus Thread Starter Active Member

    Registriert seit:
    16.10.2009
    Beiträge:
    25
    Zustimmungen:
    2
    hmm, versteh ich das richtig, mit einem "tell application "terminal""?
    Ich wollte eigentlich extra den Aufruf eines Terminal vermeiden.
     
  4. oneOeight

    oneOeight MU Mitglied

    Registriert seit:
    23.11.2004
    Beiträge:
    45.973
    Zustimmungen:
    3.512
    Ort:
    Ruhrgebiet
    nein, verstehst du nicht.
    do shell script "befehl &"
     
  5. Dominus

    Dominus Thread Starter Active Member

    Registriert seit:
    16.10.2009
    Beiträge:
    25
    Zustimmungen:
    2
    ok, Danke, verstehe, ich hab das Script jetzt abgeändert zu
    Code:
    do shell script "WINEDEBUG=-all LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib FONTCONFIG_FILE=/opt/local/etc/fonts/fonts.conf DYLD_FALLBACK_LIBRARY_PATH=/usr/X11/lib /opt/local/bin/wine ~/.wine/dosdevices/d:/totalcmd/totalcmd.exe &"
    Aber das verhindert trotzdem noch das ausführen eines anderen Scripts, bevor ich Wine/Totalcommander beende.
     
  6. Dominus

    Dominus Thread Starter Active Member

    Registriert seit:
    16.10.2009
    Beiträge:
    25
    Zustimmungen:
    2
  7. oneOeight

    oneOeight MU Mitglied

    Registriert seit:
    23.11.2004
    Beiträge:
    45.973
    Zustimmungen:
    3.512
    Ort:
    Ruhrgebiet
    das gleiche in grün, bloss das ausgeben von dem prozess ins nirvana geschickt werden...
    ist wine so mitteilungsbedürftig, wenn es startet?
    du kannst dann auch noch gleich ein 2>&1 mit dazu packen, damit auch keine fehlermeldungen das script aufhalten...
     
  8. Dominus

    Dominus Thread Starter Active Member

    Registriert seit:
    16.10.2009
    Beiträge:
    25
    Zustimmungen:
    2
    Yup, Wine ist so mitteilingsbedürftig. Ohne den redirect, wird AppleScriptRunner weiter ausgeführt und verhindert den Start von weiteren Skripten.
     
  9. Dominus

    Dominus Thread Starter Active Member

    Registriert seit:
    16.10.2009
    Beiträge:
    25
    Zustimmungen:
    2
    Hmm, was ist wenn ich so ein Script habe:

    Code:
    do shell script "/Users/dominus/Code/cvs/dosbox/src/dosbox -conf /users/dominus/documents/dosbox/" & optionen as string
    (das ist nur ein Teil des Scripts, optionen werden vorher im Script gesammelt)
     
  10. oneOeight

    oneOeight MU Mitglied

    Registriert seit:
    23.11.2004
    Beiträge:
    45.973
    Zustimmungen:
    3.512
    Ort:
    Ruhrgebiet
    dann bastelst du dir halt den rest dahinter mit
    Code:
     & " >/dev/null &"