【发布时间】:2012-06-13 23:59:11
【问题描述】:
我在 Centos 4 上,并在我的 C++ 程序中使用 kill(pid, 0) 来检查当前是否有一个进程以给定的 pid 运行。我开始怀疑存在竞争条件,即在进程启动后不久,有一个小时间窗口,即使实际上有一个进程正在运行,kill(pid, 0) 也不会返回零。
这是一个已知问题吗?当 pid 实际存在但刚刚启动时,kill() 是否会返回非零值?如果 kill() 不能可靠地测试是否存在,是否有更好的方法来执行此测试?
【问题讨论】:
标签: c++ centos race-condition pid