альтернатива popen ()

Мой вопрос является расширением этого: popen создает дополнительный процесс sh

Мотивы:

1) Моя программа должна создать дочерний элемент, который имеет хвост ] в файле. Мне нужно обработать вывод построчно. Вот почему я использую popen , потому что он возвращает FILE *. Я могу легко получить одну строку, сделать то, что мне нужно, и распечатать ее.

Одна из проблем с popen заключается в том, что вы не получаете pid дочернего элемента (в моем случае команда tail).

2) Моя программа не должна завершаться до завершения работы ее дочернего элемента. Поэтому мне нужно сделать ждать ; но без pid я не могу этого сделать.

Как я могу достичь обеих целей?

Возможное (kludge) решение: выполнить execvp ("tail -f file> tmpfile") и продолжить чтение этого tmpfile. Однако я не уверен, насколько хорошо это решение.

10
задан Community 23 May 2017 в 10:31
поделиться