GNU/Linux >> Linux の 問題 >  >> Linux

sudo と nohup を連携させる

解決策は、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 &

Linux
  1. 実際のシステム管理者はsudoを実行しません

  2. Linuxコマンド:jobs、bg、およびfg

  3. sudo:コマンドが見つかりません

  1. sudo crontab -e と crontab -e だけの Linux の違い

  2. tr コマンドの「-s」、「-t」、および「-c」オプションは Unix でどのように機能しますか?

  3. sed e および g フラグが一緒に機能しない

  1. Linuxnohupコマンドの使用方法

  2. 例を含むNohupコマンド

  3. 共有キー .ssh/authorized_keys と sudo を連携させるには?