Программно запустить серию процессов с управлением заданиями

У меня есть серия из 7 процессов, необходимых для запуска сложного веб-приложения, над которым я разрабатываю. Обычно я запускаю эти процессы вручную следующим образом:

job &>/tmp/term.tail &

term.tail — это канал fifo, который я оставляю включенным, чтобы видеть результаты этих процессов, когда мне нужно.

Я хотел бы запустить все процессы в моей текущей оболочке, но типичный сценарий (оболочка или ruby) запускается с собственной оболочкой. Есть ли обходные пути?

Я использую zsh в iTerm2 на OSX.


person TJ Singleton    schedule 15.04.2011    source источник
comment
Я нахожу проблему неясной. Запуск серии процессов в bash с оператором & в конце каждой строки позволит запустить все процессы. Что-то нежелательное происходит после того, как все они начинаются?   -  person Andrew E. Falcon    schedule 15.04.2011
comment
Извините, проблема заключалась в том, что при выполнении сценария оболочки он выполнялся с командами в новом интерпретаторе, а не в моем текущем контексте. Когда сценарий заканчивался, он закрывал интерпретатор и убивал задания. @ Ответ Энди об использовании исходного кода работает.   -  person TJ Singleton    schedule 16.04.2011


Ответы (1)


Вы можете запускать команды в текущей оболочке с помощью:

source scriptfile

or

. scriptfile

Кстати, ваши процессы будут блокироваться, если они генерируют много вывода и из канала ничего не читается (т.е. если tail умирает).

person Andy    schedule 15.04.2011
comment
Я не могу поверить, что я не пытался получить его. Спасибо! - person TJ Singleton; 16.04.2011