$ 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
Start-stop-daemonが間違ったpidを保存するのはなぜですか?
Svnserveで-d
フラグを使用しました。これは、svnserveフォーク、および子プロセスが親svnserveプロセスとは異なるpidを持つことを意味します。
start-stop-daemon
は子プロセスpidについて知りません。
提案:
pid-file
を使用して、pid番号を決定します(そして、make-pidfile
引数を削除します)。start-stop-daemon
を構成します(manpage
の下部に例があります)おそらく、svnserveが独自のpidfileを作成するためです。