Java程序执行Linux命令
今天这篇文章我们来用Java程序执行Linux命令。
执行一条命令:
执行服务器中 /home/admin 路径下的test.py文件
可以自己写一个py文件 生成一份txt或excel等 看通过java是否执行了py文件。
https://editor.csdn.net/md/?articleId=128816307
public void executeCmd()
{
Process proc = null;
try {
// 一条命令执行
proc = Runtime.getRuntime().exec("/home/admin/test.py");
proc.waitFor();
}catch (Exception e) {
logger.error(e.getMessage(),e);
}
finally {
try {
if(null != proc) {
proc.destroy();
}
} catch (Exception e) {
logger.error(e.getMessage());
}
}
}
执行多条命令:
下面这段代码是做了三条linux命令
1、 复制 /home/admin/ceshi.sh文件到 /home/admin/files下面
2、 cd 进入到 /home/admin/files文件夹
3、 pwd 打印当前所在位置
其中 && 为命令间的分隔符
public void executeCmd()
{
Process proc = null;
try {
// 多条命令执行
String[] cmds = {"/bin/sh", "-c", "cp /home/admin/ceshi.sh /home/admin/files && cd /home/admin/files && pwd"};
proc = Runtime.getRuntime().exec(cmds);
proc.waitFor();
InputStream in = proc.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in));
String line = null;
while((line = read.readLine())!=null){
logger.error(line);
}
}catch (Exception e) {
logger.error(e.getMessage(),e);
}
finally {
try {
if(null != proc) {
proc.destroy();
}
} catch (Exception e) {
logger.error(e.getMessage());
}
}
}
参考文章:
https://blog.csdn.net/qq_43842093/article/details/127329644