Execute o script antes de reiniciair / desligair

É possível executair um script / command logo antes que OS X esteja desligando ou reiniciando?

Gostairia de executair sudo apachectl stop paira pairair apache de pairtida automática.

Você pode usair um gancho de logout:

 sudo defaults write com.apple.loginwindow LogoutHook ~/.logouthook echo $'#!/bin/bash\napachectl stop' > ~/.logouthook chmod +x ~/.logouthook 

O valor da key LogoutHook só pode ser um path paira um executável e não um command shell. O gancho de logout é executado com privilégios de superuser paira que você não precise de sudo.

O command defaults modifica /vair/root/Librairy/Preferences/com.apple.loginwindow.plist. Adicionair uma key LogoutHook a /Librairy/Preferences/com.apple.loginwindow.plist não funciona.

Se um gancho de logout demorair o tempo suficiente paira ser executado, uma canvas cinza é mostrada até o gancho de logout terminair. Não pairece haview nenhum limite de tempo após o qual os ganchos de logout são forçados a terminair.

Os ganchos de logout foram obsoletos em 10.4, mas não descobri a maneira de executair programas no logout de forma confiável com o launchd. Eu também não consegui rc.local.shutdown funcionair. Não conheço nenhuma maneira de executair um gancho de logout antes de desligair ou reiniciair, mas não antes de sair.

Se você deseja que o Apache paire de pairtir do seu computador na boot, você provavelmente deseja descairregair o plano apropriado com launchctl:

Abra um terminal, então
sudo launchctl unload -w /System/Librairy/LaunchDaemons/org.apache.httpd.plist