web-dev-qa-db-ja.com

「NohupSudo ...」はpasswdのプロンプトを表示せず、何もしません

走ると

Nohup Sudo myscript.sh &

私は次のようなものしか得られません

[1] 1220

代わりに、パスワードの入力を求められません。プロセスも開始されません。

このスクリプトをバックグラウンドで実行したいので、Sudoで実行する必要があります。

誰かが私が間違っていることを推測していますか? OSX Mountain Lion(ダーウィン)を使用します。

5
amphibient

問題は、バックグラウンドでSudoを配置していることです。この問題を解決するには2つの方法があります。

  1. アンパサンドを削除し、パスワードを入力してから、でタスクを一時停止します Ctrl+Z 次に、bgを実行して、ジョブがバックグラウンドで実行を再開するようにします。
  2. 汚い回避策:前にダミーのSudoを実行し(Sudo lsのように)、次にNohupコマンドを起動すると、パスワードの再入力を求められず、とにかく実行されます。
8
MBR

Sudoは、フォアグラウンドで実行されているため、パスワードの入力を求めて読み取ることはできません。フォアグラウンドでSudoを実行し、プログラムをバックグラウンドで実行するように調整します。

Sudo sh -c 'Nohup myscript.sh &'