Eu deveria ter lido a página de manual com mais cuidado. O --make-pidfile
não recebe argumentos, é um sinalizador:
-m, --make-pidfile
Used when starting a program that does not create its own pid file. This option will make
start-stop-daemon create the file referenced with --pidfile and place the pid into it just before
executing the process. Note, the file will not be removed when stopping the program. NOTE: This
feature may not work in all cases. Most notably when the program being executed forks from its
main process. Because of this, it is usually only useful when combined with the --background
option.
Então, se o comando for executado como
$ sudo start-stop-daemon --start --pidfile /var/run/test.pid \
--make-pidfile /var/run/test.pid --user max --exec /bin/echo
A segunda menção de /var/run/test.pid
não é capturada por nenhuma opção e, portanto, é passada como um argumento para o executável sendo chamado por --exec
. É por isso que é impresso quando o seu script imprime seus argumentos. A solução é simplesmente não dar nenhum argumento para --make-pidfile
:
$ sudo start-stop-daemon --start --pidfile /var/run/test.pid \
--make-pidfile --user max --exec /bin/echo
Parabéns ao OP que resolveu ele / ela mas já tinha aceitado minha resposta.