From e6e11f9a3ae7233a32034d4e72674561859ad663 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Fri, 2 Oct 2015 02:28:26 +0300 Subject: [PATCH] vncserver: Clean pid files of dead processes. When Xvnc fails to start, delete the pid file. Clean pid files of dead processes when listing them as well. --- unix/vncserver | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/unix/vncserver b/unix/vncserver index 9ff24411..64d10c5b 100755 --- a/unix/vncserver +++ b/unix/vncserver @@ -302,6 +302,7 @@ if ($fontPath ne $defFontPath) { } unless (kill 0, `cat $pidFile`) { warn "Could not start Xvnc.\n\n"; + unlink $pidFile; open(LOG, "<$desktopLog"); while () { print; } close(LOG); @@ -587,7 +588,12 @@ sub List print "X DISPLAY #\tPROCESS ID\n"; foreach my $file (@filelist) { if ($file =~ /$host:(\d+)$\.pid/) { - print ":".$1."\t\t".`cat $vncUserDir/$file`; + chop($tmp_pid = `cat $vncUserDir/$file`); + if (kill 0, $tmp_pid) { + print ":".$1."\t\t".`cat $vncUserDir/$file`; + } else { + unlink ($vncUserDir . "/" . $file); + } } } exit 1; -- 2.39.5