2016-05-08 10 views
0

Ich versuche, ein Apple-Skript zu machen, damit ich ein cpp-Projekt automatisch verwalten kann. Und ich habe Jenkins auch benutzt.applescript: Wie man ein ausführendes Terminal terminiert

Grundsätzlich ist das cpp-Projekt eine Art Endlosschleife, die in einem Terminal ausgeführt wird. Und ich setze Jenkins neu auf und führe es alle 20 Sekunden aus. Mit anderen Worten, mein PC sollte die folgenden Aufgaben erledigen:
1) das Projekt neu aufbauen;
2) das Projekt ausführen;
3) 20 Sekunden warten;
4) Schließen Sie das Terminal.

Wenn ich jedoch zu 4) komme, erscheint ein Dialog: Wollen Sie dieses Fenster schließen?
Also muss ich auf den Button "Schließen" klicken.

Meine Frage ist: wie in AppleScript, um die 4) automatisch zu tun?

Hier ist mein Apple:

tell application "Terminal" 
    do script "cd /Users/Shared/Jenkins/Home/workspace/test" 
    do script "make clean" in window 1 
    do script "make" in window 1 
    do script "./matrix.out" in window 1 
    delay 20 
    close window 1 # problem's here 
end tell 

Antwort

0

Wenn ich jedoch zu 4) komme, erscheint ein Dialog: Wollen Sie dieses Fenster schließen? Also muss ich auf den Button "Schließen" klicken.

Sie können aber auch dass mit Applescript tun (via GUI-Scripting durch Systemereignisse), so nichts, was Sie gesagt haben, ist ein Problem, so weit.

tell application "Terminal" to activate 
tell application "System Events" 
    tell application process "Terminal" 
     tell its window 1 
      tell its sheet 1 
       click button "Close" 
      end tell 
     end tell 
    end tell 
end tell 
0

Ich frage mich, ob dies helfen kann: Running process in background after closing terminal

Das Problem könnte sein, dass, was Sie schließlich im Terminal ausgeführt wird, ein Verfahren (Matrix. out) das wird getötet, indem man das Fenster schließt, und das willst du nicht, oder? Es kann also sein, dass Sie das matrix.out-Skript mit der beschriebenen Technik ändern müssen (wenn möglich), um es davon abzuhalten.

Es kann auch möglich sein, Ihr Problem zu lösen, indem Sie matrix.out ausführbar machen (chmod es ausführbar oder Kilometer verwenden) und einfach "öffnen" mit Vanille applescript.

Verwandte Themen