2

nohup、open_init_pty、および sudo をワンライナーで組み合わせるのに苦労しています。このようなもの:

nohup open_init_pty sudo bash -c "command1;command2"

私の要件は少し奇妙です:

  • 親シェルが正常に終了できるように nohup を使用する
  • これを必要とする PHP 経由のリモート SSH 内の実際の open_init_pty
  • 特権コマンドを実行するsudo
  • 複数のコマンドを実行する - したがって、bash -c 行

さまざまな組み合わせを使用して問題を絞り込もうとしました。

# works OK, output in nohup.out
nohup sudo bash -c "echo hello"

# works OK, hello output to console
open_init_pty sudo bash -c "echo hello"

# doesn't work
nohup open_init_pty sudo bash -c "echo hello"

私は何を間違っていますか??

4

1 に答える 1

1

nohupなしでやってみませんか?次のようにサブシェルを開始できます。

(open_init_pty sudo bash -c "echo hello")

最後にこれを行うこともあり&ますが、あなたの例はバックグラウンドで実行されませんでした。とにかく、これにより、親シェルが終了してもジョブが終了しないという目標が達成される可能性があります。

于 2012-03-18T15:05:11.937 に答える