Невозможно получить nohup, open_init_pty и sudo для совместной работы - PullRequest
2 голосов
/ 16 марта 2012

Я изо всех сил пытаюсь объединить nohup, open_init_pty и sudo в одну строку.Примерно так:

nohup open_init_pty sudo bash -c "command1;command2"

Мои требования немного странны:

  • Использовать nohup, чтобы родительская оболочка могла выходить чисто
  • open_init_pty, как на самом деле внутри удаленного SSHчерез PHP, который требует
  • 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"

Что я делаю не так ??

1 Ответ

1 голос
/ 18 марта 2012

Как насчет того, чтобы сделать это без nohup? Вы можете запустить подоболочку следующим образом:

(open_init_pty sudo bash -c "echo hello")

Иногда я делаю это с & в конце, но ваши примеры не работают в фоновом режиме. В любом случае, это может привести к тому, что вы не прекратите работу, если родительская оболочка завершится.

...