⑴ linux 中Tomcat部署的java程序 是由root 运行的还是一般用户运行的
最好别用root运行,root用户权限是最高的,启动的话会修改某些文件夹权限,经常会导致用户无权访问静态孝带资源。举个例子,你root启动了以后会修改某些文件夹的棚慎蔽权限,就只能root能访问了,然后你再用PC访问项目,上传文件或者下载文件的功能链州有时候会报错,错误就是权限不足,也有些图片都加载不出来的。所以建议新建用户,给指定权限,可以ll一下看用户有哪些权限。
⑵ 如何在android的Java层获取root权限
如果系统已root,那么直接su即可:
Java code
String cmdBecomeSu = "su";
try{
java.lang.Process runsu = Runtime.getRuntime().exec(cmdBecomeSu);
}
//...
⑶ linux 使用root用户登录可以运行java命令
在Linux下某些编译要求root权限,可是很多时候在root下就无法使用java、javac等相关命令,导致编译无法通过。
分析原因:
root运行java都是/usr/bin/java这个引用,由于Linux中可能会引用默认的JDK,如openjdk,所以是否安装JDK对它完全没有影响。
解决办法:
手动替换默认的Jdk版本
sudoupdate-alternatives--configjava
系统会列出各种JDK版本,如下所示:
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自动模式
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手动模式
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 手动模式
3 /usr/lib/jvm/java-7-sun/bin/java 300 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:3
注:update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于手动模式中。