Newsgroup: it.comp.macintosh
Titolo: [Terminale][AppleScript] opzioni kill e killall

sto cercando di creare un comando che spenga nel migliore dei modi il
mac, salvo che il comando finale deve essere uno shutdown -hon. Il tutto
lo vorrei infilare in un AppleScript in modo che sia utilizzabile da
chiunque.
Usando un kill -15 -1, mi viene spento anche lo spegnimento finale,
senza comunque arrivare allo spegnimento del Mac... per cui mi chiedevo
se esiste una formula per evitare lo spegnimento del mio script e dei
servizi necessari per fare lo shutdown.
Lo script per per il momento č questo:
tell application "Finder"
        set onList to name of every application process
end tell
set keepList to {"Finder", "SpegniMac", "RiavviaMac"}
ignoring application responses
        repeat with eachProc in onList
                if eachProc is not in keepList then
                        tell application eachProc to quit
                end if
        end repeat
end ignoring
delay 10
tell application "Finder"
        eject every disk
end tell
delay 5
do shell script "sudo kill -15 -1" user name "admin" password "pwd" with
administrator privileges
do shell script "shutdown -hon now" user name "admin" password "pwd"
with administrator privileges
Togliendo il comando kill, lo script fa il suo lavoro, ma č comunque
troppo brutale per i miei gusti...
Confido nell'aituo di chi ci capisce di piů, ma preciso che sarebbe
importante per me riuscire a rifinire questo AppleScript.

dando
tell application "Finder" to shut down
fai spegnere il mac come se avessi selezionato l'apposita voce nel
menu mela.
a quel punto puoi aggiungere un qualcosa per chiudere le applicazioni
che non l'hanno voluto fare da sé...

 tell application "Finder" to shut down
Questo mi chiude l'applescript (che pertanto non completa il suo
funzionamento chiamando shutdown -hon), ma non sblocca Archicad quando
resta incastrato: in questo caso l'unico modo è il comando shutdown
-hon, ma se si tenta lo spegnimento in altro modo non si è più in grado
di dare lo shutdown da terminale (e bisogna andare di pulsante)... E'
una cosa un po' complicata da spiegare, ma di fatto vorrei chiudere il
più aggraziatamente tutto il possibile (chiudere eventuali applicazioni
aperte, disconnettere unità di rete e removibili, spegnere i vari
servizi, ecc...), tranne quello che mi serve per impartire uno shutdown
-hon che spegne il Mac in modo abbastanza brutale ma efficace (a livello
software).

 end
Provato.
Non mi sembra che sia molto aggraziato, nel senso che se un applicazione
non risponde (provo con TextEdit ed un documento non salvato, la
situazione reale è in ufficio ed è random), lo shutdown del finder non
procede e tutti i servizi vengono segati dal shutdown -hon... al
contrario con il kill -15 -1 tutto quello che si può chiudere si
chiude... anche troppo perchè non viene eseguito lo shutdown :-/
In qualche modo dovrei mandare il SIGNTERM a tutti tranne che a quelli
(processi) che servono per poi fare lo shutdown...
Avevo anche provato a dare lo shutdown con un delay di 1 minuto, e dopo
mandare il kill -15 -1, ma comunque quest'ultimo comando fa chiudere i
processi che servono allo shutdown, impedendo lo spegnimento completo.
Del tuo script, non capisco il senso del "on run" e della "&", me li
spieghi?
Inoltre, che differenza passa tra dare lo shut down tramite Finder e
tramite System Events ? 

 Boh. Senti, ma vuoi una soluzione o la risposta a tutte le domande? :)
Visto che lo script che mi hai mandato *non è* la soluzione che cercavo,
le risposte potrebbero essermi utili a modificarlo/integrarlo in modo da
arrivare più vicino alla soluzione che vorrei. Comunque grazie, penso
che i suggerimenti che mi hai dato mi possano tornare utili.