删除文件描述符后,羊群进程未关闭

时间:2018-07-06 11:28:42

标签: concurrency file-descriptor flock

我们遇到的问题是同时运行2个羊群进程。问题是删除了两个进程中最早的文件标识符,但未关闭羊群进程。两个过程:

root     14557  0.0  0.0   7020   668 ?        S    Jul05   0:00 flock -n [lock file] -c sudo -u www-data php [worker script] >> [log file] 2>&1
root     14786  0.0  0.0   7020   704 ?        S    Jul05   0:00 flock -n [lock file] -c sudo -u www-data php [worker script] >> [log file] 2>&1

文件描述符:

[user]@[host]:~$ sudo ls -al /proc/14557/fd
total 0
dr-x------ 2 root root  0 Jul  6 10:06 .
dr-xr-xr-x 9 root root  0 Jul  6 10:04 ..
lr-x------ 1 root root 64 Jul  6 10:06 0 -> /dev/null
l-wx------ 1 root root 64 Jul  6 10:06 1 -> /dev/null
l-wx------ 1 root root 64 Jul  6 10:06 2 -> pipe:[2099949769]
lr-x------ 1 root root 64 Jul  6 10:06 3 -> [lock file] (deleted)

[user]@[host]:~$ sudo ls -al /proc/14786/fd
total 0
dr-x------ 2 root root  0 Jul  6 10:07 .
dr-xr-xr-x 9 root root  0 Jul  6 10:04 ..
lr-x------ 1 root root 64 Jul  6 10:07 0 -> /dev/null
l-wx------ 1 root root 64 Jul  6 10:07 1 -> /dev/null
l-wx------ 1 root root 64 Jul  6 10:07 2 -> pipe:[2099952982]
lr-x------ 1 root root 64 Jul  6 10:07 3 -> [lock file]

问题是-可能是什么原因造成的?如何预防呢?为什么文件描述符被删除,或者为什么羊群进程无法关闭。

0 个答案:

没有答案