Я новичок в python и Redhat linux. Я использую модуль subprocess для выполнения другой программы на C, которая создает файл. Я могу захватить код выхода из программы C. Но есть ли способ, которым я могу сделать дорожку python и отображать имя файла, созданного программой C?Использование подпроцесса Python для отслеживания файлов, созданных исполняемым файлом
Примечание: я не могу изменить программу C. Программа C создает выходные файлы с отметками времени, и многие экземпляры могут работать параллельно. Я хочу только захватить файлы, созданные экземпляром, запущенным python. Есть ли другой способ сделать это, если не модуль подпроцесса?
Спасибо за ответ. Однако os.listdir не может найти каталог, соответствующий fid. Это потому, что программа c может закрыть файл до того, как скрипт python сможет его найти? – user1802785
@ user1802785 Скорее всего, процесс закончился. Каталог fd должен быть там, даже если файлы не открыты, хотя обычно есть fd 0, 1, 2 (stdin, stdout, stderr). Обратите внимание, что это будет работать только в Linux, другие Unix не имеют символических ссылок (у OS X нет/proc) – cdarke