python - 如何检查 memcached 是否正在运行,如果不是从 python 启动它?

标签 python memcached

我正在使用 python 和 memcached 开发一个网络应用程序。

首先,我想从我的 python 程序启动 memcached,如果我是对的,subprocess.Popen(["memcached"]); 会执行此操作。真正困扰我的是如何检查 memcached 是否已经在后台运行。

我想要类似的东西

if check_memcached():
    start_memcached();

如果 memcached 尚未运行,check_memcached() 函数应返回 true。有人知道如何做到这一点吗?

最佳答案

检查的最佳方式可能取决于您的平台。以下是您可以尝试的一些方法:

  • 尝试连接到内存缓存服务器。如果连接失败,则假定服务器未运行。
  • 如果您希望 memcached 在本地运行,请查找 PID 文件。在 Debian 上,它通常位于 /var/run/memcached.pid 并包含正在运行的 memcached 守护进程的进程 ID。为确保您可以读取文件中包含的 PID 并验证具有此 PID 的进程是否仍在运行。
  • 使用subprocess 模块运行一个命令,可以直接检查本地运行的守护进程。例如。使用 subprocess 运行命令 pidof memcached 并检查返回码。

关于python - 如何检查 memcached 是否正在运行,如果不是从 python 启动它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15332051/

相关文章:

php - 如何保持memcache与mysql同步?

python - 无法理解如何使用 findNextSiblings

python - 如何检测对话框的关闭事件?

python - 缺少 datetime.timedelta.to_seconds() -> 在 Python 中 float ?

Django 缓存性能

google-app-engine - Memcached:缓存对象总是好的? (GAE 客观化)

c++ - 集群节点的 libmemcached 故障转移

python - 扩展 python tornado 应用程序的正确方法

python - 使用 pandas.DataFrame.to_parquet 控制行组

python - Python 中的矩阵逆