Script verhindert runterfahren des Mac.

gillem

Aktives Mitglied
Thread Starter
Dabei seit
28.09.2014
Beiträge
136
Reaktionspunkte
33
Hab hier ein Apple-Script als Programm laufen das bestimmte Netzlaufwerke mounted unmounted wenn sie da sind oder nicht. Das Problem ist nur das der Mac nicht mit "Ausschalten" runterfährt bevor ich nicht das Script ( Programm ) beende.
Wie bekomme ich dem Mac beigebracht selber das Script zu beenden und runter zu fahren ?

Hier das Script :
repeat

delay 30



try

set t to do shell script "ping -c1 192.168.178.110"

if t contains "0% packet loss" then

set targetFolder to "OS X Work (Mac Mini)"

tell application "Finder"

if not (targetFolder exists) then

try

mount volume "afp://192.168.178.110/OS X Work (Mac Mini)"

end try

end if

end tell



set targetFolder to "OS X Work II (Mac Mini)"

tell application "Finder"

if not (targetFolder exists) then

try

mount volume "afp://192.168.178.110/OS X Work II (Mac Mini)"

end try

end if

end tell

else

do shell script "diskutil unmount /Volumes/OS X Work (Mac Mini)"

do shell script "diskutil unmount /Volumes/OS X Work II (Mac Mini)"

end if

end try



try

set t to do shell script "ping -c1 192.168.178.107"

if t contains "0% packet loss" then

set targetFolder to "OS X Work (Mac Mini)"

tell application "Finder"

if not (targetFolder exists) then

try

mount volume "afp://192.168.178.107/OS X Work (Mac Mini)"

end try

end if

end tell



set targetFolder to "OS X Work II (Mac Mini)"

tell application "Finder"

if not (targetFolder exists) then

try

mount volume "afp://192.168.178.107/OS X Work II (Mac Mini)"

end try

end if

end tell

else

do shell script "diskutil unmount /Volumes/OS X Work (Mac Mini)"

do shell script "diskutil unmount /Volumes/OS X Work II (Mac Mini)"

end if

end try



try

set t to do shell script "ping -c1 192.168.178.202"

if t contains "0% packet loss" then

set targetFolder to "OS X Work (iMac Cloud)"

tell application "Finder"

if not (targetFolder exists) then

try

mount volume "afp://192.168.178.202/OS X Work (iMac Cloud)"

end try

end if

end tell

else

do shell script "diskutil unmount /Volumes/OS X Work (iMac Cloud)"

end if

end try



end repeat
 
Das Problem ist deine Endlosschleife.
Beim Programmieren von Programmen ist das keine wirklich gute Lösung.

Ich bin leider zu wenig im Thema drin, aber vielleicht ist es auch eine Möglichkeit dein Programm mit einmaligem Durchlauf zu schreiben und dann einen Launchdaemon zu schreiben, der es minütlich (oder wie auch immer gewünscht) durchführt und dir damit nicht deinen Rechner schachmatt setzt. Letztlich ist das was du da programmiert hast eben keine gute Lösung.
 
Zuletzt bearbeitet:
Wie bekomme ich dem Mac beigebracht selber das Script zu beenden und runter zu fahren ?
Wenn du Skripte magst, schreib einfach eines, das den Menüeintrag "Ausschalten" ersetzt. Das erst das problematische Skript beendet und dann den Mac ausschaltet.
MacMark512s Lösung hat natürlich auch was für sich.
 
noch dazu prüft das script falsch auf ping losses und targetfolder.
 
Zuletzt bearbeitet:
Bevor ich den ganzen Applescript Salat studiere, sag uns bitte was es machen soll. Checken ob zwei Volumen vorhanden sind, wenn nicht, mounten, und wenn sie nicht gemounted werden können.. was? Und wenn keine Verbindung zum Internet besteht: unmount? Oder was genau?
 
Zuletzt bearbeitet:
Zurück
Oben Unten