linux下javaws-jnlp小程序的PID获取
我试图从bash运行一个java(jnlp)applet,并获取所创建进程的PID 使用此命令:linux下javaws-jnlp小程序的PID获取,java,linux,jnlp,Java,Linux,Jnlp,我试图从bash运行一个java(jnlp)applet,并获取所创建进程的PID 使用此命令: javaws myapplet.jnlp > /dev/null & echo $! 这将返回加载jnlp的第一个java实例的pid;我猜,但与最终运行的java进程无关 有什么线索吗 找到原始javaws,如下所示: #!/bin/sh prog="$0" while [ -h "$prog" ]; do prog=$(readlink -f $prog); done [ $#
javaws myapplet.jnlp > /dev/null & echo $!
这将返回加载jnlp的第一个java实例的pid;我猜,但与最终运行的java进程无关
有什么线索吗
找到原始javaws,如下所示:
#!/bin/sh
prog="$0"
while [ -h "$prog" ]; do prog=$(readlink -f $prog); done
[ $# -eq 0 ] && set -- -viewer
exec $(dirname $prog)/javaws.real "$@"
有没有一种方法可以修改它以给出子进程的PID?我不知道这样做是否有效,但为了找到PID,更一般地说,我使用这个别名
alias prs='ps faux|grep -v grep|grep "$@"'
然后
prs my_prog
使用javaws
的-J选项创建并加载-J
参数直接传递到目标VM,并与.jnlp文件中的VM参数组合,因此您可以在与应用程序相同的过程中加载本地代理库
例如: 包含将当前PID(通过访问)存储在文本文件中的
premain
方法
假设getpid.jar
和jna.jar
位于当前目录中,则可以通过以下方式启动:
javaws -J-javaagent:getpid.jar=pid.txt myapplet.jnlp
这将在将其PID写入文件
PID.txt
Mmh后启动小程序,这不是我搜索的内容,因为我希望在启动时获取PID,而不是之后,我还运行了许多此小程序的实例