2

Я хочу создать пару функций Bash что-то вроде

function generator {
    while [ 1 -le 1 ]
    do
        # run log generator > somefile.log
    done
}

function tail_log {
    generator &
    tail -f somefile.log
}

Итак, я бы запустил команду tail_log чтобы увидеть вывод журнала. За исключением того, что вместо бесконечного цикла я бы хотел, чтобы пользователь нажимал Q чтобы завершить разветвленный процесс.

Похоже, мне нужны две вещи:

  1. способ получить идентификатор процесса разветвленной информации
  2. способ прослушивания ввода пользователя, чтобы я мог kill идентификатор процесса, когда пользователь нажимает Q

1 ответ1

4
  1. $!

  2. Запустите tail в фоновом режиме. На переднем плане используйте встроенную функцию read . При вводе убейте оба фоновых процесса.

    Пока я на это

  3. while [ 1 -le 1 ]while true (см. несколько связанный раздел о BashPitfalls)

  4. function foo {...}foo() {...} (см. устаревший синтаксис об этом)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .