nohupを使ってsudoプロセスを実行するには?

nohupを使ってsudoプロセスを実行するには?

nohupを使ってsudoコマンドを実行するには? sudoコマンドを実行してから、プロセスを中断または停止せずにsshセッションを終了したいと思います。

試してみましたが効果がありませんでした。

sudo nohup . test.sh

答え1

使用

nohup sudo <command> &

2番目の問題は実行モードです。シェルは内部コマンドなので、一緒に使用することはできず、. script実行可能ファイルのみを許可します。これはエラーメッセージにも表示されるはずです。nohup.nohupnohup.out

つまり、

nohup sudo /bin/bash script.sh &

(または実行するシェル)スクリプトを実行可能にします。

答え2

失敗したのは、sudoコマンドではなく.内部シェルコマンドなので失敗することです。以下は有効です。

sudo nohup /bin/bash test.sh

または:

nohup sudo /bin/bash test.sh

違いはnohup.outの所有者です。

いいえ、いいえ:

sudo /bin/bash test.sh & disown %1

または:

(sudo /bin/bash test.sh &)

後者の2つの場合にログインが必要な場合は、> logfile 2> & 1を使用してください。スクリプトの性質によっては、これを指定する必要がない場合も./bin/bashまったく指定する必要がない場合もあります。

関連情報