Mac OS 的開機啟動方式
launchd 是 Mac OS 下用於初始化系統環境的關鍵進程,它是內核裝載成功之后在OS環境下啟動的第一個進程。其實它的作用就是我們平時說的守護進程,簡單來說,用戶守護進程是作為系統的一部分運行在后台的非圖形化程序。采用這種方式來配置自啟動項很簡單,只需要一個plist文件,該plist文件存在的目錄有:
- LaunchDaemons
~/Library/LaunchDaemons
用戶登陸前運行 plist(程序) - LaunchAgents
~/Library/LaunchAgents
用戶登錄后運行相應的 plist(程序)
你需要.plist文件來指定需要開機啟動的程序。首先來創建一個.plist文件:
sudo vim /Library/LaunchDaemons/io.redis.redis-server.plist
以下是開機啟動的.plist配置文件的示例:
<?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>io.redis.redis-server</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/redis-server</string> <string>/usr/local/etc/redis.conf</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
粘貼完以后,我們需要對上面的內容做兩處修改:一個是“redis-server”的路徑,這里需要改為你自己的安裝路徑(可以使用”which redis-server”命令來查看具體的路徑)。還有一個就是redis配置文件的路徑,這個是可選的,如果沒有使用配置文件那么就把第二個刪除,如果使用了配置文件,一定要改為正確的路徑。
將plist文件載入到launchd
編輯完plist文件以后,我們需要將該文件載入到launchd里,使用launchctl命令,具體命令如下:
sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
重啟以后,redis就可以開機啟動了。如果不想重新啟動,也可以使用如下命令:
sudo launchctl start io.redis.redis-server
如果想關閉redis的話,使用如下命令:
sudo launchctl stop io.redis.redis-server
為了使用方便,我們可以給redis的開啟和關閉命令設置別名:
alias redisstart='sudo launchctl start io.redis.redis-server' alias redisstop='sudo launchctl stop io.redis.redis-server'
參考:
1、https://www.teakki.com/p/57e224390906a5d20a8f90d3
2、https://www.jianshu.com/p/e73978416920
