我怎样才能closures似乎被Xvfb孤立的端口?

我在FC8 Amazon EC2映像上运行Xvfb。 有时Xvfb会崩溃(目前无法找出崩溃的原因),并在崩溃后,TCP端口将显示为孤儿。 我无法获得一个PID来杀死任何可能正在使用它的进程。

我开始使用Xvfb:

Xvfb :7 -screen 0 1024x768x24 & 

我正在使用的例子如下,Xvfb端口是(是)6007:

 # netstat -ap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:ssh *:* LISTEN 1894/sshd tcp 0 0 *:6007 *:* LISTEN - tcp 0 352 ip-10-84-69-165.ec2.int:ssh c-71-194-253-238.hsd1:51689 ESTABLISHED 2981/0 udp 0 0 *:bootpc *:* 1817/dhclient udp 0 0 *:bootpc *:* 1463/dhclient Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ] DGRAM 871 668/udevd @/org/kernel/udev/udevd unix 2 [ ACC ] STREAM LISTENING 5385 1880/dbus-daemon /var/run/dbus/system_bus_socket unix 6 [ ] DGRAM 5353 1867/rsyslogd /dev/log unix 2 [ ] DGRAM 11861 2981/0 unix 2 [ ] DGRAM 5461 1974/crond unix 2 [ ] DGRAM 5451 1904/console-kit-da unix 3 [ ] STREAM CONNECTED 5438 1880/dbus-daemon /var/run/dbus/system_bus_socket unix 3 [ ] STREAM CONNECTED 5437 1904/console-kit-da unix 3 [ ] STREAM CONNECTED 5396 1880/dbus-daemon unix 3 [ ] STREAM CONNECTED 5395 1880/dbus-daemon unix 2 [ ] DGRAM 5361 1871/rklogd # lsof -i COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME dhclient 1463 root 3u IPv4 4704 UDP *:bootpc dhclient 1817 root 4u IPv4 5173 UDP *:bootpc sshd 1894 root 3u IPv4 5414 TCP *:ssh (LISTEN) sshd 2981 root 3u IPv4 11825 TCP ip-10-84-69-165.ec2.internal:ssh->c-71-194-253-238.hsd1.il.comcast.net:51689 (ESTABLISHED) 

试图用iptables强制端口closures似乎也没有工作。

 iptables -A INPUT -p tcp --dport 6007 -j DROP 

我不知道如何收回/解放港口。 据我所知,这个端口将保持这个状态,直到EC2实例closures。

那么,如何closures这个端口,以便我可以重新启动Xvfb?

fuser -kn tcp 6007以root fuser -kn tcp 6007运行应该fuser -kn tcp 6007任何有6007端口打开的进程。

我做了一些更多的调查,为什么Xvfb失败,并有几个内核在服务器上的几个不同的进程恐慌。

 Unable to handle kernel paging request at virtual address 

当Xvfb发生内核恐慌时,我们会发现这个问题中描述的情况,内核的端口是打开的,我们只能通过重新启动机器来释放。

当我调查内核恐慌时,我遇到了这个链接:

http://drija.com/linux/72417/network-port-open-but-no-process-attached/

事实certificate,我们使用的内核(2.6.16-xenU)现在在Amazon EC2实例上不稳定:

http://www.vincestross.com/2009/04/upgrade-an-ec2-instance/

我改变了我们使用的2.6.21.7-2.fc8xen-ec2-v1.0的内核,现在看起来一切正常。

这并没有真正回答关于如何释放开放端口的问题,但是我认为在这个内核问题下,不能在没有重新启动的情况下释放该端口。