start-stop-daemon salva o PID errado

1
$ ps aux | grep svn
root      **4458** ... /usr/bin/svnserve -d -r /var/svn
manuel    4466 ... grep --color=auto svn
$ sudo kill **4458**
$ sudo rm /var/run/svnserve.pid
$ sudo start-stop-daemon --start --make-pidfile --pidfile /var/run/svnserve.pid --exec /usr/bin/svnserve -- -d -r /var/svn
$ cat /var/run/svnserve.pid
**4474**
$ ps aux | grep svn
root     **4477**  ... /usr/bin/svnserve -d -r /var/svn
manuel    4480     ... grep --color=auto svn

Por que o start-stop-daemon salva pids errados?

    
por ManuelSchneid3r 13.12.2012 / 12:35

2 respostas

3

Você usou o -d flag em svnserve, o que significa que svnserve forks e child process terão pids diferentes, do que o processo svnserve pai.

start-stop-daemon não sabe sobre pids de processo filho.

Sugestão:

  • Use pid-file do svnserve para determinar o número do pid (e remova o argumento make-pidfile ).
  • Desative o bifurcação no svnserve e configure start-stop-daemon para fazer isso também (há um exemplo na parte inferior de manpage )
por 13.12.2012 / 12:46
0

Provavelmente porque o svnserve cria seu próprio pidfile.

    
por 13.12.2012 / 12:44