как передать информацию в фоновый процесс в Bash - PullRequest
1 голос
/ 12 января 2012

Я создал скрипт bash, и он работает в фоновом режиме. У него есть PID, который хранится в файле, и я могу использовать KILL для передачи предопределенных сигналов процессу.

Время от времени, однако, я бы хотел передать информацию процессу вручную. Предпочтительно, чтобы я хотел, чтобы была возможность передавать строку или массив информации, который захватывается через TRAP, тогда цикл навсегда внутри файла bash будет обрабатывать информацию. Есть ли простой способ передать информацию в фоновый процесс?

Спасибо

Ответы [ 2 ]

5 голосов
/ 12 января 2012

Вы можете создать fifo, сделать так, чтобы основной процесс записывал в него, и чтобы ребенок читал из него.

mkfifo link
run_sub < link &
generate_output > link
0 голосов
/ 12 января 2012

Пусть он прослушивает сокет и реализует протокол для достижения ваших коммуникационных целей, вероятно, слишком много для bash.

Или попытайтесь прочитать определенный файл при получении определенного сигнала.Например, программы обычно перечитывают свои файлы конфигурации при получении HUP.

...