解決策は、sudo の -b フラグを使用してコマンドをバックグラウンドで実行することです:
$ sudo -b ./ascii_loader_script.pl 20070502 ctm_20070502.csv
現在の端末セッションを閉じた後もプログラムを続行したい場合にのみ nohup を使用してください
ここでの問題は、私見ですが、nohup ではなく、バックグラウンド処理の sudo です。
プロセスをバックグラウンド (コマンドの最後に &) に配置していますが、おそらく sudo にはパスワード認証が必要であり、それがプロセスが停止する理由です。
次のいずれかを試してください:
1) コマンドの末尾からアンパサンドを削除し、passord プロンプトに応答し、あとがきでバックグラウンドに置きます (CTRL-Z を入力してプロセスを停止し、bg コマンドを発行してバックグラウンドに送信します)
2) /etc/sudoers を次の行を含めて、ユーザーのパスワードを要求しないように変更します:myusername ALL=(ALL) NOPASSWD:ALL
アプリケーションがパスワード応答以外の入力を待機する場合は、次のように入力をコマンドにパイプできます:$ cat response.txt|sudo mycommand.php
h番目
試すことができます
sudo su
そして
nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &
の代わりに
nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &