1)若是执行简单的Shell命令:(如 jps 、last 这样的命令 ) session.execCommand(cmd); 2) 遇到问题: 用方法execCommand执行Shell命令的时候,会遇到获取不全环境变量的问题, 比如执行 hadoop fs -ls 可能会报找不到hadoop 命令的异常 试着用execCommand执行打印环境变量信息的时候,输出的环境变量不完整 与Linux主机...
下面我们将介绍一种简单的方式,使用ProcessBuilder类来执行远程shell命令。 Java代码示例 importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassRemoteShellExecutor{publicstaticvoidmain(String[]args){try{Stringcommand="ssh user@remote-server 'ls'";ProcessBuilderprocessBuil...
nohup java -jar ${projectname}/src/${appname} >> ${projectname}/src/nohup.out & #获取到项目运行的pid,排除执行命令的进程,排除被杀死的原型进程 #awk命令,默认使用空格分隔,并得到第二个参数的值 newpid=$(ps -ef|grep ${projectname}/src/${appname}|grep -v grep|grep -v ${pid}|awk "...
client.put(updateFileBytes, "xlsbz_server.zip", "/app/mhfx/"); 5执行Shell命令(一般放线程里执行) new Thread(new Runnable() { public void run() { try { session.requestDumbPTY(); //建立虚拟终端 session.startShell(); //打开一个shell OutputStream fout = session.getStdin(); //也可以...
一、实现远程执行 此程序的目的是执行远程机器上的Shell脚本。 【环境参数】 远程机器IP:192.168.243.21 用户名:user 密码:password 命令:python /data/applogs/bd-job/jobhandler/gluesource/employee.py 【具体步骤】 1、导入需要依赖的jar包。 <dependency><groupId>ch.ethz.ganymed</groupId><artifactId>ganyme...
简介:java实现连接远程服务器,并可以执行shell命令 你可以使用Java中的SSH库来连接远程服务器并执行shell命令。下面是一个简单的示例代码: importcom.jcraft.jsch.*;publicclassSSHExample{publicstaticvoidmain(String[] args){Stringhost="your_host";Stringusername="your_username";Stringpassword="your_password";in...
* 远程执行shll脚本或者命令 * @param cmds * 即将执行的命令 * @return * 命令执行完后返回的结果值,如果命令执行失败,返回空字符串,不是null * @since V0.1 */public Stringexec(String cmds){String result="";try{if(this.login()){Session session=conn.openSession();// 打开一个会话session.execCom...
【Spring boot配置模板】java远程执行shell命令(支持向多主机发起远程命令)前言pom依赖支持配置yml建类调用后记 前言 受2020年初的新型肺炎病毒影响,多日宅在家中无聊至极,就在琢磨一套调度系统,想用来管理维护大数据调度作业。 写了一多半停下来整改BUG,发现切换主机环境后,发现之前写的远程shell执行引擎失灵,怎么调试作...
/** * 本机调用linux上的命令 * java 远程执行Shell命令-通过ganymed-ssh2连接 * JAVA利用SSH2登录LINUX并执行命令_运维_yezhuanxu的博客-CSDN博客 * Java 远程执行 Linux 的命令 */ public class DemoRunShell1 { public static void main(String[] args) { String ip = "192.168.137.190"; String userna...
如果需要后台执行某个命令,不能直接 <命令> + & 的方式执行,这样在 JSch 中不生效,需要写成这样的格式:<命令> > /dev/null 2>&1 &。比如要后台执行 sleep 60,需要写成 sleep 60 > /dev/null 2>&1 感谢各位的阅读,以上就是“Java JSch怎么远程执行Shell命令”的内容了,经过本文的学习后,相信大家对Jav...