VNC - Can't find file *.pid, kill the Xvnc process manually

在使用VNC之后想要关闭自己的VNC端口,结果遇到了如下图的问题:
这里写图片描述
解决办法:
1. 在终端上执行命令ps aux | grep xxx(xxx是你在服务器上的账户,本例中就是chenxiayu)
2. 找到列出的所有进程中,一个叫Xvnc的进程,大概是这个样子的:
这里写图片描述
3. 看它的进程号是多少,这里是28592
4. 然后用 kill (进程号) 把进程杀掉即可。
注意,如果你找不到Xvnc这个进程,那应该是本来就不存在,不需要kill,应该可以直接重开vnc端口。

补充:出现这个问题的原因可能是VNC的服务端崩溃,导致~/.vnc目录下的pid文件丢失,然而在/tmp目录下的Xlock文件依然存在,导致系统以为仍有一个vncserver在你的端口上运行。用以下命令可以看看/tmp目录下的相关临时文件。
这里写图片描述
因此另一个办法就是删除相应端口的临时文件(这里以端口21为例),然后就可以重开vnc端口了:

rm -rf /tmp/.X11-unix/X21

有时候只需要上面这句就搞定了(我应该没记错的),但是最近发现还需要再把.X21-lock文件删掉才行:

rm -rf /tmp/.X21-lock

你可能感兴趣的:(Linux)