Прямо сейчас, мне нужно запустить внешний процесс в C. В настоящее время я использую posix_spawn для создания процесса. Необходимо, чтобы я мог контролировать, завершился ли процесс. Мне нужно также иметь ссылку на стандарт вне процесса. Я посмотрел на использование popen, однако он не обеспечивает «легкий» способ получения pid. Я медленно схожу с ума, так как не может быть так сложно получить стандартное выполнение текущего процесса в Linux.Получить stdout уже запущенного процесса в Linux в C
Кроме того, в следующем примечании мне нужна помощь в расшифровке того, что означает параметр file_actions. человек (3) для posix_spawn по этой теме говорит:
Если file_actions не NULL, то файловые дескрипторы открытых в дочернем процессе, должны быть те, открытым в процессе вызова, как модифицируется икру файлов действий указываемого объекта файловыми файлами и флагом FD_CLOEXEC каждого оставшегося дескриптора открытого файла после обработки действий файла spawn.
Если это не определение вступительного предложения, я понятия не имею, что это такое.
Когда вы говорите STD_OUT, вы имеете в виду PID? – suspectus
Нет, я имею в виду STD_OUT. Мне нужен стандартный вывод процесса с заданным PID, который я получаю от его создания с помощью posix_spawn. – alekpr
Возможно, вы хотите [popen (3)] (http://man7.org/linux/man-pages/man3/popen.3.html), иначе я не понимаю ваш вопрос. Прочитайте [Расширенное программирование Linux] (http://advancedlinuxprogramming.com/) –