Czy system operacyjny OS X jest używany rc.shutdown
lub rc.shutdown.local
nadal jest używany, czy też zastąpiono go czymś innym?
Zdaję sobie sprawę, że launchd
to zastępuje większość z nich, ale pomyślałem, że nadal możesz użyć rc.shutdown.local
do uruchomienia skryptu.
Nie mogłem nawet znaleźć rc.shutdown nigdzie w moim systemie.
/etc/rc.shutdown.local
w/System/Library/LaunchDaemons/com.apple.SystemStarter.plist
, ale nie jestem wcale pewien, co to znaczy. Strona podręcznika dlaSystemStarter
nie jest świetną pomocą, poza informowaniem nas, że jest przestarzała. Program działa jednak w moim systemie. Och, a łańcuch/etc/rc.shutdown.local
znajduje się wSystemStarter
pliku binarnym. Domyślam się, że pliki będą uruchamiane przy zamykaniu.Odpowiedzi:
Naprawdę nie mam pojęcia. Jest wzmianka o tym
/etc/rc.shutdown.local
w/System/Library/LaunchDaemons/com.apple.SystemStarter.plist
, ale nie jestem wcale pewien, co to znaczy. Strona podręcznika dlaSystemStarter
nie jest świetną pomocą, poza informowaniem nas, że jest przestarzała. Program działa jednak w moim systemie. Aha, a łańcuch/etc/rc.shutdown.local
znajduje się również wSystemStarter
pliku binarnym. Domyślam się, że pliki będą uruchamiane przy zamykaniu.Ale jeśli mogę odpowiedzieć na twoje ukryte pytanie, jak uruchomić coś przy wyłączaniu: oto co zrobiłem. Najpierw napisałem i skompilowałem ten mały program C. To, co robi, to po prostu spać, dopóki nie otrzyma SIGTERM, w którym to momencie exec wykonuje swoje argumenty:
Mam skonfigurowanego demona uruchamiania do uruchamiania tego programu podczas uruchamiania. Przyjdź czas zamknięcia,
launchd
wyśle SIGTERM, który powoduje, że program robi swoje. Oczywiście musi to zrobić dość szybko lublaunchd
zastosuje większy młot.Oto mój
launchctl
list, nazwanyno.ntnu.math.hanche.quietboot.plist
i umieszczony w/Library/LaunchDaemons/
. Jego jedynym celem jest uruchomienie `nvram SystemAdioVolume =% 01 'przy wyłączaniu, dzięki czemu mogę zrestartować komputer bez gongu.źródło