1.模拟Kill掉已经启动的VNC服务
1)启动桌面1的服务
[root@testdb ~]# vncserver :1
New 'testdb:1 (root)' desktop is testdb:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log
2)手工杀掉已经启动的VNC服务进程
[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep
root 1178 1 0 11:07 pts/2 00:00:00 Xvnc :1 -desktop testdb:1 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn
root 1182 1 0 11:07 pts/2 00:00:00 vncconfig -iconic
[root@testdb ~]# kill -9 1178
3)确认进程已经杀掉
[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep
4)再次启动桌面1的VNC服务,这里可以看到报错
[root@testdb ~]# vncserver :1
Warning: testdb:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server testdb:1
A VNC server is already running as :1
2.处理过程
很简单,按照错误提示的内容,需要删除/tmp/.X1-lock文件
[root@testdb ~]# rm -f /tmp/.X1-lock
启动尝试,仍然报错
[root@testdb ~]# vncserver :1
Warning: testdb:1 is taken because of /tmp/.X11-unix/X1
Remove this file if there is no X server testdb:1
A VNC server is already running as :1
同样,按照提示的错误,进一步删除/tmp/.X11-unix/X1文件
[root@testdb ~]# rm -f /tmp/.X11-unix/X1
再次启动尝试,OK,启动成功!
[root@testdb ~]# vncserver :1
New 'testdb:1 (root)' desktop is testdb:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log
3.问题处理经验总结
再一次证明,解决技术问题的关键有
1)直面问题,充满信心,喜欢解决问题,即使时间紧任务重
2)远离浮躁
3)认真分析报错信息,寻找突破点
4)last but not least 向最好的老师Google请教
-- The End --