services
là một lệnh "ẩn" trong Homebrew. Có một loạt chúng không có trongbrew help
đầu ra. Nó, vì các lệnh không có giấy tờ sẽ không được thực hiện, đã biến mất trong kho lưu trữ chính thức và đã trở thành một " lệnh bên ngoài " được duy trì trong một kho lưu trữ bổ trợ khác (trong trường hợp này là một ý chính vì nó rất đơn giản).
Bạn có thể cài đặt nó trong thiết lập Homebrew của mình bằng cách chạy:
> curl -o /usr/local/bin/brew-services.rb https://gist.githubusercontent.com/lwe/766293/raw/75a7907004bbff0eb3b072d1d951be2cfe7e5020/brew-services.rb
> chmod +x /usr/local/bin/brew-services.rb
> brew services help
usage: [sudo] brew services [--help] <command> [<formula>]
Small wrapper around `launchctl` for supported formulas, commands available:
cleanup Get rid of stale services and unused plists
list List all services managed by `brew services`
restart Gracefully restart selected service
start Start selected service
stop Stop selected service
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/ian/Library/LaunchAgents
Ngoài ra, bạn có thể bỏ qua services
và chỉ cần tạo một tập tin plist cho nó. Ví dụ: tạo ~/Library/LaunchAgents/org.mongodb.mongod.plist
bằng:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.mongodb.mongod</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/Cellar/mongodb/2.6.4/bin/mongod</string>
<string>run</string>
<string>--config</string>
<string>/usr/local/Cellar/mongodb/2.6.4/mongod.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>UserName</key>
<string>{your_username}</string>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/mongodb/output.log</string>
<key>StandardOutPath</key>
<string>/usr/local/var/log/mongodb/output.log</string>
</dict>
</plist>
Chỉ cần thay đổi {your_username}
tên người dùng thực tế của bạn sau đó chạy:
launchctl load ~/Library/LaunchAgents/org.mongodb.mongod.plist
để đăng ký plist với launchd. Bây giờ bạn có thể bắt đầu và dừng MongoDB với:
launchctl start org.mongodb.mongod
launchctl stop org.mongodb.mongod
Lưu ý, giải pháp plist ở trên được lấy từ câu trả lời Stack Overflow tuyệt vời này .