La solution consiste à utiliser le drapeau -b pour que sudo exécute la commande en arrière-plan :
$ sudo -b ./ascii_loader_script.pl 20070502 ctm_20070502.csv
Vous ne devez utiliser nohup que si vous souhaitez que le programme continue même après la fermeture de votre session de terminal actuelle
Le problème ici, à mon humble avis, n'est pas nohup, mais sudo de traitement en arrière-plan.
Vous mettez le processus en arrière-plan (et à la fin de la commande) mais sudo a probablement besoin d'une authentification par mot de passe, et c'est pourquoi le processus s'arrête.
Essayez l'une de ces options :
1) supprimez l'esperluette à la fin de la commande, répondez à l'invite de mot de passe et placez-la en arrière-plan (en tapant CTRL-Z - ce qui arrête le processus et émet la commande bg pour l'envoyer en arrière-plan)
2) Modifiez le /etc/sudoers pour ne pas demander le mot de passe des utilisateurs en incluant la ligne :myusername ALL=(ALL) NOPASSWD :ALL
Si, en plus de la réponse du mot de passe, votre application attend une autre entrée, vous pouvez diriger l'entrée vers la commande comme ceci :$ cat answers.txt|sudo mycommand.php
hth
Vous pouvez essayer
sudo su
puis
nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
au lieu de
nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &