我正在使用python和memcached开发一个Web应用程序。
首先,我想从我的python程序启动memcached,如果我是对的subprocess.Popen(["memcached"]);
将会这样做。真正困扰我的是如何检查memcached是否已经在后台运行。
我想要像
这样的东西if check_memcached():
start_memcached();
如果memcached尚未运行,check_memcached()
函数应返回true。有人知道怎么做吗?
答案 0 :(得分:5)
检查的最佳方式可能取决于您的平台。以下是您可以尝试的一些方法:
/var/run/memcached.pid
并包含正在运行的memcached守护程序的进程ID。为了更加确定,您可以读取文件中包含的PID,并验证具有此PID的进程是否仍在运行。subprocess
模块运行可以直接检查本地运行的守护程序的命令。例如。使用pidof memcached
运行命令subprocess
并检查返回代码。