brew ile servisleri yönetmek
Sistemsel servisleri brew
ile yönetebilirsiniz.
Eğer MySQL, PostgreSQL, Redis ve benzeri araçları kullanıyorsanız, sistem kaynaklarını tüketmemek için sürekli olarak bu servisleri açık tutmamanız iyi olur. İşletim sistemi dışında kurduğunuz, özellikle Homebrew üzerinden kurduğunuz bu servisleri yine homebrew ile gelen services aracıyla kolayca yönetebilirsiniz. Kurmak için;
brew tap homebrew/services # sonra
brew services
Karşımıza;
usage: [sudo] brew services [--help] <command> [<formula>|--all]
Small wrapper around `launchctl` for supported formulae, commands available:
cleanup Get rid of stale services and unused plists
list List all services managed by `brew services`
restart Gracefully restart service(s)
start Start service(s)
stop Stop service(s)
Options, sudo and paths:
sudo When run as root, operates on /Library/LaunchDaemons (run at boot!)
Run at boot: /Library/LaunchDaemons
Run at login: /Users/vigo/Library/LaunchAgents
yardım ekranı gelir. Aslında bu launchctl
için minik bir wrapper. Sisteme
login olunduğunda ya da makine ilk açıldığında ayağa kalkacak servisleri
launchctl ile yönetiyoruz. Brew bize launchctl ile uğraşmadan kolayca
bu işleri yapmamızı sağlıyor:
brew services list
dediğimde bana;
Name Status User Plist
emacs stopped
lighttpd stopped
mysql stopped
nginx stopped
postgresql stopped
redis stopped
Tabi bu listenin sağlıklı çalıması için (listede görünen) servislerin brew ile kurulmuş olması gerekiyor. (brew install nginx gibi…) Eğer mysql’i ayağa kaldırmak istersem:
brew services start mysql
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
Şimdi tekrar bakarsam;
brew services list
mysql started vigo /Users/vigo/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Durdurmak için;
brew services stop mysql
Eğer bir şekilde mysql
i komple sildiniz. Silinmiş servislerin servis listesinden
çıkması için;
brew services cleanup
yeterli. Tüm servisleri tek hareketle ayağa kaldırmak için;
brew services start --all
==> Successfully started `emacs` (label: homebrew.mxcl.emacs)
==> Successfully started `lighttpd` (label: homebrew.mxcl.lighttpd)
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)
==> Successfully started `redis` (label: homebrew.mxcl.redis)
Tahmin edebileceğiniz gibi kapatmak için de;
brew services stop --all