Řešením je použít parametr -b pro sudo ke spuštění příkazu na pozadí:
$ sudo -b ./ascii_loader_script.pl 20070502 ctm_20070502.csv
Nohup byste měli používat pouze v případě, že chcete, aby program pokračoval i po zavření aktuální relace terminálu
Problém zde imho není nohup, ale sudo zpracování na pozadí.
Uvádíte proces na pozadí (&na konci příkazu), ale sudo pravděpodobně potřebuje ověření heslem, a proto se proces zastaví.
Zkuste jeden z těchto:
1) odstraňte ampersand z konce příkazu, odpovězte na výzvu passord a doslovy jej vložte na pozadí (zadáním CTRL-Z - což zastaví proces a vydá příkaz bg pro odeslání na pozadí)
2) Změňte /etc/sudoers tak, aby nepožadoval heslo uživatele, a to zahrnutím řádku:myusername ALL=(ALL) NOPASSWD:ALL
Pokud vaše aplikace kromě odpovědi s heslem čeká na další vstup, pak můžete vstup do příkazu přenést takto:$ cat responses.txt|sudo mycommand.php
hth
Můžete zkusit
sudo su
a poté
nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
místo
nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &