У меня действительно странная и неприятная проблема с memcached. Я запускаю ubuntu server 10.04lts на экземпляре linode. Я использую ткань с проектом django, и часть сценария фабрики позволяет перезапустить процесс memcached. сегодня я заметил, что ткань выдает ошибку, говоря следующее
Restarting memcached: start-stop-daemon: warning: failed to kill 8175: No such process
Затем я немедленно ssh'd к коробке, чтобы начать ковыряться вокруг, чтобы увидеть, было ли это всего лишь одноразовым или какой-то проблемой с тканью. поэтому я запускаю команду прямо в коробке
Restarting memcached: start-stop-daemon: warning: failed to kill 8186: No such process
такая же сделка, другой идентификатор процесса. Затем я попытался подключиться по Telnet к memcached, который работал нормально. теперь идентификатор процесса был 8123. a quick ps aux | Команда grep memcached показала, что процесс выполняется под этим pid.
www-data 7259 0.0 0.1 45972 772 ? Ssl 16:38 0:00 memcached -d -u www-data -p 11211 -m 64
www-data 8123 0.0 2.4 57220 12260 ? Ssl 17:02 0:00 memcached -d -u www-data -p 11211 -m 64
поэтому я подумал, может быть, что-то случилось во время установки memcached через apt, чего я просто не заметил раньше, поэтому я удалил memcached и переустановил без каких-либо ошибок. Затем я запустил memcached со следующими параметрами
sudo memcached -d -u www-data -p 11211 -m 64
действительно странная вещь, если я остановлю memcached и запустю его снова, я могу запустить /etc/init.d/memcached restart без каких-либо ошибок один раз, после чего то же самое предупреждение о том, что pid не найден, происходит снова и снова.
Я в своем уме покончить с этим, пожалуйста, помогите: / !!
Принудительно убить запущенные процессы,
sudo kill -9 {process_id}
Убедитесь, что ничего не запущено, если существует /var/run/memcached.pid, это тоже: p
Затем попробуйте sudo /etc/init.d/memcachd start
Убедитесь, что идентификатор процесса в /var/run/memcached.pid совпадает с идентификатором, когда вы ps aux | grep memcache. Если они это сделают, тогда все будет в порядке, запустив sudo /etc/init.d/memcachd {start / stop / restart}
Скрипт-выскочка тоже было бы круто :)
Крис
На самом деле об этом сообщалось как об ошибке:
https://bugs.launchpad.net/ubuntu/+source/memcached/+bug/795673
Я только что исправил это в выпуске Ubuntu для разработчиков (точнее на данный момент). Исправление довольно крошечное и должно быть обратно переносимым до 10.04, если позволит время.
Поскольку вы используете Lucid, рассматривали ли вы возможность установки memcached в Upstart?
Примерно так должно работать:
$ cat /etc/init/memcached.conf
# memcached - in-memory cache
#
description "memcached"
start on (local-filesystems and started networking)
stop on runlevel [!2345]
respawn
pre-start script
test -x /usr/bin/memcached || { stop; exit 0; }
end script
exec /usr/bin/memcached -d -u www-data -p 11211 -m 64
В этом случае Upstart будет поддерживать работу memcached.