Andrew Bartlett wrote:
On Mon, 2005-03-14 at 18:00 +0100, Nickolay Pelov wrote:Yes, but in some cases when squid is killed forcibly for some reason the pid file stays and squid doesn't start.
I noticed that squid checks if it is running by checking if pid file exists. I think it will be better to check if there is really process with that pid like:
if(kill(pid,0)==0){//squid is running
}else{ // no process //unlink the pid file }
I don't know how kill is implemented in other operating systems but I'm sure that there is a way to check if process is running.
What Samba does on it's pid file is to check there is a fcntl() lock on the file. That way, we know that the process with that PID is also Samba, not a re-used PID.
Andrew Bartlett
For example if power is lost pid file stays and when server is back squid don't start and many people don't
have internet connection.
