怎么用java代码运行linux命令以下方法支持Linux和windows两个系统js调用linux命令的命令行调用 。还用到js调用linux命令了apache的lang工具包commons-lang3-3.1.jar来判断操作系统类型、也用到了和log4j-1.2.16.jar来打印日志 。至于rm -rf 是否能成功删除文件js调用linux命令,可以手动去调用命令行试试 。
private String callCmd(String cmd) throws InterruptedException, UnHandledOSException, ExecuteException {
if(SystemUtils.IS_OS_LINUX){
try {
// 使用Runtime来执行commandjs调用linux命令,生成Process对象
Process process = Runtime.getRuntime().exec(
【js调用linux命令 js linux】new String[] { "/bin/sh", "-c", cmd });
int exitCode = process.waitFor();
// 取得命令结果的输出流
InputStream is = process.getInputStream();
// 用一个读输出流类去读
InputStreamReader isr = new InputStreamReader(is);
// 用缓冲器读行
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
System.out.println(line);
sb.append(line);
}
is.close();
isr.close();
br.close();
return sb.toString();
} catch (java.lang.NullPointerException e) {
System.err.println("NullPointerException "e.getMessage());
logger.error(cmd);
} catch (java.io.IOException e) {
System.err.println("IOException "e.getMessage());
}
throw new ExecuteException(cmd"执行出错js调用linux命令!");
}
if(SystemUtils.IS_OS_WINDOWS){
Process process;
try {
//process = new ProcessBuilder(cmd).start();
String[] param_array = cmd.split("[\\s] ");
ProcessBuilder pb = new ProcessBuilder(param_array);
process = pb.start();
/*process=Runtime.getRuntime().exec(cmd);*/
int exitCode = process.waitFor();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
System.out.println(line);
sb.append(line);
}
is.close();
isr.close();
br.close();
return sb.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
throw new ExecuteException(cmd"执行出错!");
}
throw new UnHandledOSException("不支持本操作系统");
}
怎么在java中执行linux 命令 netstatJava 可以通过 Runtime 调用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
但是这样执行时没有任何输出 , 因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例
由于调用 Runtime.exec 方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream() 方法重定向给它的父进程了 。
用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到 linux 命令的执行结果:
try {
String[] cmd = new String[]{”/bin/sh”, “-c”, ” ls “};
Process ps = Runtime.getRuntime().exec(netstat);
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(”\n”);
}
String result = sb.toString();
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
如何用nodejs压缩文件,生成tar包你好js调用linux命令,
我不知道如何直接使用Node.js代码逻辑生成tar包js调用linux命令 , 但我可以给你提供一个使用Node.js调用Linux命令生成tar包js调用linux命令的方法 。
首先,在npm中有一个叫做shelljs的包,在项目中安装它:
npm i --save shelljs
然后,在执行打包任务的js文件中使用它:
var shell = require('shelljs');
if (shell.exec('tar -zvcf 文件名.tar.gz 被打包的文件(夹)').code !== 0) {
shell.echo('Error: ...');
shell.exit(1);
}
这样就可以在当前目录生成一个“文件名.tar.gz”的压缩包js调用linux命令了,而“文件名”和“被打包的文件(夹)”都可以通过参数的形式进行传递 。
好js调用linux命令了,更多信息可以github上搜索shelljs , 希望能解决你的问题 。
浏览器中的javascript能调用linux客户端上的上的shell程序吗不能,在浏览器上执行js调用linux命令的js功能受限,不可能做这些js调用linux命令的 。可以通过js调用接口,让后台程序调用shell 。
关于js调用linux命令和js linux的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- sqlserver2012insert的简单介绍
- 在虚拟机里怎么改主机名,虚拟机怎么改主机名字
- b站原神up主直播,原神b站什么时候直播
- go语言配置 go语言配置useunicode
- 如何微淘推广宝贝,微淘怎么推广能引进流量
- 虎牙大罗金仙直播视频,虎牙大金哥是谁
- python静态函数作用 python3 静态方法
- chatgpt进阶,ChatGPT进阶用法
- 有没有消防模拟器游戏,我想玩消防模拟器