我有一台装有 Ubuntu 12.04 的服务器,在 tomcat 下有一个用于拆分 PDF 文件的 Servlet。当文件上传到 Servlet 时,它会打开一个外部进程(使用公共执行) 并调用PDFTK并使用“burst”选项来分割上传的PDF文件。
问题是 PDFTK 还生成一个文件 doc_data.txt,根据手册页将其定义为“与 dump_data 的输出相同”。pdftk 手册页
外部进程因错误而终止。当我检查各种日志时,它尝试将 doc_data.txt 文件写入 /proc/2400/cwd/ 中,但由于没有权限而失败(在 catalina 日志中发现)。上面路径中的 2400 似乎是 Tomcat 的进程 ID,当我重新启动 Tomcat 服务器时,它会发生变化。
我应该授予什么权限?以及目录更改时如何授予权限?我对 /proc 并不完全了解,而且我不想把事情搞乱。
答案1
cwd
表示当前工作目录并且proc
是一个虚拟文件系统(不会将数据写入磁盘)。
首先,找出指向的内容:readlink -e /proc/<pid>/cwd/
然后使用 检查该目录的权限ls -l
。
您现在可以检查生成的进程是否可以写入该目录并采取适当的措施。