É 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