Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema:

  1. #1
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25

    mehrere Scripte gleichzeitig ausführen?

    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. #2
    oneOeight
    oneOeight ist offline
    MU Mitglied
    Avatar von oneOeight
    Dabei seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    43.578
    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. #3
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    hmm, versteh ich das richtig, mit einem "tell application "terminal""?
    Ich wollte eigentlich extra den Aufruf eines Terminal vermeiden.


  4. #4
    oneOeight
    oneOeight ist offline
    MU Mitglied
    Avatar von oneOeight
    Dabei seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    43.578
    nein, verstehst du nicht.
    do shell script "befehl &"


  5. #5
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    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. #6
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    jetzt hab ich's geschafft...
    "befehl > /dev/null &"

    Gefunden unter http://developer.apple.com/mac/libra...02/tn2065.html "Q: I want to start a background server process; how do I make do shell script not wait until the command completes?"
    Danke


  7. #7
    oneOeight
    oneOeight ist offline
    MU Mitglied
    Avatar von oneOeight
    Dabei seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    43.578
    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. #8
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    Yup, Wine ist so mitteilingsbedürftig. Ohne den redirect, wird AppleScriptRunner weiter ausgeführt und verhindert den Start von weiteren Skripten.


  9. #9
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    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. #10
    oneOeight
    oneOeight ist offline
    MU Mitglied
    Avatar von oneOeight
    Dabei seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    43.578
    dann bastelst du dir halt den rest dahinter mit
    Code:
     & " >/dev/null &"


  11. #11
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    das hatte ich schon versucht, aber das klappt nicht. AppleScript-Runner beendet sich nicht.

    Aber wenn ich mich online umsehe, *sollte* das eigentlich klappen... komisch...


  12. #12
    oneOeight
    oneOeight ist offline
    MU Mitglied
    Avatar von oneOeight
    Dabei seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    43.578
    pack halt noch das erwähnte 2>&1 dazu ...


  13. #13
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    damit klappt's auch nicht.
    Das ganze Script sieht übrigens so aus (vielleicht erklärt das wass)
    Code:
    set the_list to ""
    set nl to ASCII character 10
    tell application "Finder"
    	set file_list to name of every file of folder "Macintosh HD:users:dominus:documents:dosbox" whose name ends with ".conf"
    	repeat with entry in file_list
    		set the_list to the_list & nl & entry
    	end repeat
    end tell
    set optionen to (choose from list file_list with prompt "DOSBox spielt heute")
    if optionen is not false then
    	do shell script "/Users/dominus/Code/cvs/dosbox/src/dosbox -conf /users/dominus/documents/dosbox/" & optionen as string & " &> /dev/null 2>&1 &"
    else if optionen is false then
    	do shell script "/Users/dominus/Code/cvs/dosbox/src/dosbox &> /dev/null &"
    end if
    Funktion ist, daß es in einem Verzeichnis alle Konfigurationsdateien von Dosbox auflistet, und bei Auswahl eines davon, Dosbox mit dem Parameter "-conf /users/dominus/documents/dosbox/*ausgewählte Konfiguration*" startet.
    Wenn ich keines auswähle startet Dosbox ohne so eine Configuration (und da klappt es auch mit dem redirect ins Nirvana).


  14. #14
    oneOeight
    oneOeight ist offline
    MU Mitglied
    Avatar von oneOeight
    Dabei seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    43.578
    das &> ist ja auch falsch dort, das & gehört auch nur ganz nach hinten.

    Code:
    do shell script "/Users/dominus/Code/cvs/dosbox/src/dosbox -conf /users/dominus/documents/dosbox/" & optionen as string & " 2>&1 >/dev/null &"
    Code:
    do shell script "/Users/dominus/Code/cvs/dosbox/src/dosbox >/dev/null &"


  15. #15
    Dominus
    Dominus ist offline
    Neues MU Mitglied

    Dabei seit
    10.2009
    Beiträge
    25
    Danke, ändert aber leider nichts daran, erst beim beenden von Dosbox beendet sich auch AppleScript-Runner


Seite 1 von 2 12 LetzteLetzte