jstack -l 的解决方法

Workaround for jstack -l

我有一个名为 my-app 的 java 应用程序,它来自特定用户 my-app-user 运行ning,我想每小时进行一次线程转储。我发现 jstack 与 JDK 捆绑在一起,我想用 -l 标志执行它。但是,不幸的是,我发现如果我想获取我的线程转储,我应该 运行 jstack 作为 my-app-user 用户。问题是 jstack 拥有 root:root 所有权,我无法更改它。这个问题有一些解决方法吗?我不知道如何解决这个问题。

谢谢

$ sudo -u my-app-user jstack -l 

参考:http://linux.die.net/man/8/sudo