ChannelExec exec = (ChannelExec)session.openChannel("exec");
执行jps命令时:
exec.setCommand("jps");
/* ... */
不会输出结果
因为jps不是虚拟机内置的命令,而是java提供的一个显示当前所有java进程pid的命令,所以需要用source命令将java的环境变量以及bash"刷"一遍:
exec.setCommand("source /etc/profile;source ~/.bash_profile;source ~/.bashrc;jps;");
/* ... */
这样就可以了,遇到其他的命令也是如此
版权声明:本文为qq_43613793原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。