如果要在系统启动Mac OS时运行memcache,则必须将PList配置文件放在/Library/LaunchDaemons/目录中,并将所有者设置为root用户。

/Library/LaunchDaemons/目录中创建一个文件,名称为memcached.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>org.memcached</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/memcached</string>
<string>-d</string>
<string>-u</string>
<string>root</string>
<string>-p</string>
<string>11211</string>
<string>-m</string>
<string>64</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

创建文件后,使用以下命令将所有者更改为root用户:

$chown root:wheel memcached.plist

命令行下操作如下:

现在,当启动Mac OS时,memcached服务器将作为端口11211上的守护进程自动启动,并且分配的内存为64 MB

使用ps -eaf | grep memcachedtelnet命令来验证它。

注意:在macOS Sierra(10.12.x)上试过这个,但这似乎不起作用。 看来必须使用下面的命令加载plist文件。

$launchctl load -w /Library/LaunchDaemons/org.memcached.plist

但在控制台中收到以下错误消息。

Jul 25 14:11:58 --- last message repeated 1 time ---
Jul 25 14:11:58 pankaj com.apple.xpc.launchd[1] (org.memcached[1113]): Service could not initialize: 16F73: xpcproxy + 11769 [1505][34964CF1-9965-3B4D-ADC7-6FBC6669C56D]: 0xd
Jul 25 14:11:58 pankaj com.apple.xpc.launchd[1] (org.memcached): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

我们尝试了很多不同的选择,但它似乎没有用。 如果您遇到类似的情况并且能够使其正常工作,请发表评论并告诉我们。