Você está misturando três comandos: deamon
, perl
e /home/nuthan/program/server
sem nenhuma aspas. Pense no seguinte: Como cada um deles sabe quais parâmetros ele deve interpretar?
A sintaxe que você usou provavelmente só poderia ser interpretada corretamente se:
-
deamon
trataria tudo depois de-18
ser o comando para executar -
perl
interpretaria apenas o primeiro parâmetro (/home/nuthan/program/server
) como o script a ser executado, e tudo o que segue como parâmetros passados para esse script
Posso sugerir duas coisas para corrigir os problemas:
- Verifique se você precisa chamar
perl
explicitamente. Se o scriptserver
contiver uma declaração de intérprete apropriada (provavelmente/usr/bin/perl
) em sua primeira linha e tiver um bit executável definido, não será necessário chamar explicitamenteperl
. - Verifique a sintaxe do comando
daemon
. Se isso indica que tudo após-18
(em seu comando) deve ser tratado como um comando completo para executar, então está tudo bem. Caso contrário, você pode precisar de tudo o que se segue entre aspas ou criar uma função adicional ou um script de wrapper que executaria todo o seu comando - assim, toda a linha de comando escrito seria alterado paradaemon -18 your_function
oudaemon -18 /path/to/your/wrapper_script.sh
.