Я пытаюсь вызвать программу (ncbi blast, для тех, кто должен знать) из моего кода, вызывая команду в вызове system ().
Если я выполняю строку непосредственно в оболочке, она работает как задумано, но если я пытаюсь использовать ту же строку через system (), программа возвращается намного быстрее, без ожидаемых результатов. Выходной файл создан, но размер файла равен 0. Возвращенный код ошибки также равен 0. Я даже попытался добавить «> output.log 2> error.log», но эти файлы не были созданы.
Я думаю, это как-то связано с переменными окружения или путем ...
Имя выходного файла задается параметром командной строки -o, а не перенаправлением вывода.
Я прочитал кое-что о том, что команда popen, возможно, лучше подходит для моего варианта использования, но я не могу найти ее, из какой библиотеки это?