Solaris上非root用户通过java执行命令失败
问题:
在Solaris上使用非root用户运行java程序,java程序中需要执行shell脚本及操作系统的一些常用命令。发现脚本根本就没有执行,且java中获取的到的返回码为 127。
原因:
solaris上运行的java程序启动进程需要通过 jre/lib/sparcv9/jspawnhelper 间接启动(执行脚本或操作系统命令都是通过新启一个进程来执行的),如果 jre/lib/sparcv9/jspawnhelper 没有执行权限,会导致java中执行命令失败。