У меня есть сервер с Ubuntu 12.04, и у меня есть сервлет под tomcat, который используется для разделения файлов PDF. Когда файл загружается в сервлет, он открывает внешний процесс (используя commons-exec), вызывает PDFTK и использует опцию "пакетной передачи" для разделения загруженного файла PDF.

Проблема в том, что PDFTK также генерирует файл doc_data.txt, который определен в соответствии с man-страницей как «такой же, как вывод из dump_data». Страница man pdftk

Внешний процесс завершается с ошибкой. Когда я проверял различные журналы, он пытается записать файл doc_data.txt в /proc / 2400 / cwd / и завершается ошибкой, поскольку у него нет разрешений (обнаружено, что в журналах catalina). 2400 в указанном выше пути, похоже, является идентификатором процесса для Tomcat и меняется, когда я перезагружаю сервер Tomcat.

какие разрешения я должен дать? а как дать когда меняется каталог? У меня нет полного понимания относительно /proc, и я не хочу портить вещи.

1 ответ1

0

cwd означает текущий рабочий каталог, а proc - это виртуальная файловая система (не записывает данные на диск).

Сначала выясните, на что это указывает: readlink -e /proc/<pid>/cwd/
Затем проверьте разрешения этого каталога с помощью ls -l .
Теперь вы можете проверить, может ли порожденный процесс записать в этот каталог и предпринять соответствующие действия.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .