2
import java.io.IOException;
import org.hyperic.sigar.*;
public class SigarDemo {
public static void main(String args[]) throws SigarException, IOException
{
final Sigar sigar = new Sigar();
final long[] processes = sigar.getProcList();
ProcTime pt=new ProcTime();
for (final long processId : processes) {
ProcUtil.getDescription(sigar, processId);
pt=sigar.getProcTime(processId);
System.out.println("---"+pt.getStartTime());
}
}
我正在尝试使用sigar获取每个进程的进程时间。我得到这个错误:使用sigar无法获取进程时间
Exception in thread "main" java.lang.ExceptionInInitializerError at taskmanager.SigarDemo.main(SigarDemo.java:22) Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "sigar.nativeLogging" "read") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457) at java.security.AccessController.checkPermission(AccessController.java:884) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294) at java.lang.System.getProperty(System.java:714) at org.hyperic.sigar.Sigar.(Sigar.java:78)
我已经试过策略文件设置所有权限。但我仍然收到错误。我正在使用netbeans 8.0。我已经设定
-Djava.security.manager -Djava.security.policy=src/dir1/dir2/important.policy
感谢答复..它是工作.. –
但我实际的问题是如何避免“SigarExceptionPermissionDenied”?我知道..我应该写政策文件的许可。但如何写它,并在哪里发布? –