Блог Олега Сердюкова

Загрузка и выгрузка системных сервисов (MacPorts)

Я начал писать заметку о launchctl, но понял, что сегодня её не закончу. Поэтому кратко расскажу о том, как загружать или выгружать сервисы, установленные через MacPorts.

Стартовые скрипты MacPorts размещает в файлах /Library/LaunchDaemons/org.macports.${port}.plist.

Загрузить сервисы можно либо привычно через launchctl

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.${port}.plist

либо через MacPorts:

$ sudo port load port

Останов сервиса:

$ sudo launchctl unload -w /Library/LaunchDaemons/org.macports.${port}.plist

или

$ sudo port unload port

Например, установим apache2 (он толком в Mac OS X не нужен, так как при включении “Web sharing” загружается Apache/2.2.11):

$ sudo port install apache2

Ставится конфигурационный файл launchctl /Library/LaunchDaemons/org.macports.apache2.plist:



<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >


Labelorg.macports.apache2
ProgramArguments

	/opt/local/bin/daemondo
	--label=apache2
	--start-cmd
	/opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper
	start
	;
	--stop-cmd
	/opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper
	stop
	;
	--restart-cmd
	/opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper
	restart
	;
	--pid=none

Debug
Disabled
OnDemand
RunAtLoad


Загрузка:

$ sudo port load apache2

Выгрузка:

$ sudo port unload apache2

В следующей статье я детально расскажу о launchctl.

Comments