2.250 Benutzer sind Online

mehrere Scripte gleichzeitig ausführen?

Seite 1 von 2 12 Letzte
  1. #1
    Dominus
    Neues MU Mitglied

    Mitglied seit
    10.2009
    Beiträge
    25
    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?

             Zitieren   Zitieren 

  2. #2
    oneOeight
    MU Mitglied
    Avatar von oneOeight
    Mitglied seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    44.968
    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.

             Zitieren   Zitieren 

  3. #3
    Dominus
    Neues MU Mitglied

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

             Zitieren   Zitieren 

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

             Zitieren   Zitieren 

  5. #5
    Dominus
    Neues MU Mitglied

    Mitglied seit
    10.2009
    Beiträge
    25
    Themenstarter
    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.

             Zitieren   Zitieren 

  6. #6
    Dominus
    Neues MU Mitglied

    Mitglied seit
    10.2009
    Beiträge
    25
    Themenstarter
    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

             Zitieren   Zitieren 

  7. #7
    oneOeight
    MU Mitglied
    Avatar von oneOeight
    Mitglied seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    44.968
    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...

             Zitieren   Zitieren 

  8. #8
    Dominus
    Neues MU Mitglied

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

             Zitieren   Zitieren 

  9. #9
    Dominus
    Neues MU Mitglied

    Mitglied seit
    10.2009
    Beiträge
    25
    Themenstarter
    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)

             Zitieren   Zitieren 

  10. #10
    oneOeight
    MU Mitglied
    Avatar von oneOeight
    Mitglied seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    44.968
    dann bastelst du dir halt den rest dahinter mit
    Code:
     & " >/dev/null &"

             Zitieren   Zitieren 

  11. #11
    Dominus
    Neues MU Mitglied

    Mitglied seit
    10.2009
    Beiträge
    25
    Themenstarter
    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...

             Zitieren   Zitieren 

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

             Zitieren   Zitieren 

  13. #13
    Dominus
    Neues MU Mitglied

    Mitglied seit
    10.2009
    Beiträge
    25
    Themenstarter
    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).

             Zitieren   Zitieren 

  14. #14
    oneOeight
    MU Mitglied
    Avatar von oneOeight
    Mitglied seit
    11.2004
    Ort
    Ruhrgebiet
    Beiträge
    44.968
    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 &"

             Zitieren   Zitieren 

  15. #15
    Dominus
    Neues MU Mitglied

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

             Zitieren   Zitieren 

Seite 1 von 2 12 Letzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Anmelden

Anmelden