假设我已经开始了我的过程:
java -DSOME_STRING -jar foo.jar
Run Code Online (Sandbox Code Playgroud)
然后在 linux 上,我可以使用以下命令来查找或终止此进程:
pgrep -f SOME_STRING
pkill -f SOME_STRING
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不适用于 cygwin。谁能建议 cygwin 中这些工具的替代方案?
我正在尝试通过 ssh 隧道监视在不同服务器上运行的多个 JVM。
感谢这里的一位 UNIX 专家,我设法通过以下方式为单个服务器运行它:
jstatd
在目标服务器上运行在我的本地 PC 上,运行:
ssh -L 2222:server1:22 bastion-host
Run Code Online (Sandbox Code Playgroud)在我的本地 PC 上,运行:
ssh -o port=2222 -D 9696 -L 1099:localhost:1099 localhost
Run Code Online (Sandbox Code Playgroud)这就是诀窍。现在,当我尝试通过隧道连接到第二台服务器时,我尝试:
在我的本地 PC 上,运行:
ssh -L 3333:server2:22 bastion-host
Run Code Online (Sandbox Code Playgroud)在我的本地 PC 上,运行:
ssh -o port=3333 -D 9696 -L 2099:localhost:1099 localhost
Run Code Online (Sandbox Code Playgroud)但是,最后一步抱怨:
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 9696
Run Code Online (Sandbox Code Playgroud)
有没有人设法做类似的事情?
更新:
之所以如此复杂,是因为 jstatd 是一个 RMI 服务器应用程序:
http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jstatd.html
与 RMI 应用程序一样,它们通过 rmiregistry 注册。通过防火墙使用 rmi …