ShellCmdLog.class中的代码:
public class ShellCmdLog extends Thread
{
private boolean bLog2Error; //是否打印错误Error标志
private InputStream ins; //待转换文件输入流
/**
* 设置是否打印错误Error,设置待转换文件的输入流
* @param is 待转换文件输入流
* @param flag 是否打印错误Error标志
*/
public ShellCmdLog(InputStream is, boolean flag)
{
super("ShellCmdStream" + (flag ? "-error" : "-out"));
bLog2Error = flag;
ins = is;
}
/**
* 执行转换线程
*/
public void run()
{
if (ins != null)
{
InputStreamReader isr = new InputStreamReader(ins);
BufferedReader br = new BufferedReader(isr);
try
{
String line = null;
while ((line = br.readLine()) != null)
{
if (bLog2Error)
{
System.out.println("Shell_Err>" + line);
}
else
{
System.out.println("Shell_Out>" + line);
}
} //end of while(true)
}
catch (IOException ioe)
{
System.out.println("ShellCmdLog error:" + ioe);
}
finally
{
try
{
if (isr != null)
{
isr.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
try
{
if (br != null)
{
br.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
}
// java调用shell脚本
String path="/zte/ippbxweb/util/zxecs_dbbackup.sh" ;//脚本位于服务器中的路径
String statement[] ={ "/bin/sh", path};
try {
Process process = Runtime.getRuntime().exec(statement);
InputStream in = process.getInputStream(); // 获取输入流
InputStream err = process.getErrorStream();// 获取错误流
ShellCmdLog sgStdout = new ShellCmdLog(in, false);
ShellCmdLog sgStderr = new ShellCmdLog(err, true);
sgStdout.start();
sgStderr.start();
final int result = process.waitFor();
// 为流读出捕获流设定的时间间隔。
Thread.sleep(100);
if (process != null) {
process.destroy();
}
// 集合读取线程
sgStdout.join();
sgStderr.join();
} catch (Exception e) {
e.toString();
}
分享到:
相关推荐
在linux环境中,这三个用户都可以直接在任意目录下执行该shell脚本,可是在java代码中调用shell脚本时,报了如下4个错误: 1、sqlldr: command not found 2、sqlplus: command not found 3、0750: You may need to ...
网上看了好多android下调用脚本的例子,在没有root的情况下,大多只能执行一些简单的脚本命令,经验证,总结出一种还算比较有用的方法,可以较多数脚本,算是比较靠谱,共享下
最近写脚本的时想要用python直接在脚本中去执行cmd命令,并且将返回值打印出来供下面调用,所以特意查了下,发现主要有一下几种方式来实现,很简单: 就拿执行adb, adb shell, adb devices 举例 1.第一种方法 os ...
在使用shell后,如何等待此程序完成后,程序才继续执行。
type -> 选项exec & spawn cmd -> 运行指定的命令url -> 发布输出的 url 你很高兴去。用法2 用于更大的流式输出 var app = require ( 'express' ) ( ) ;var spawnProcess = require ( "../app/spawn_process.js" ) ...
该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的...
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。让你快速上手。通过考试
cmd_down.sh 安装自创指令ndown 使用方法 (因为服务器内无法获取外网地址,所以需要安装时手动输入) sudo bash cmd_down.sh 本机ip地址 示例:sudo bash cmd_down.sh 175.178.105.49 内部发生了什么 往路径/usr/...
使用py时可能需要连续运行多条shell 命令 1. # coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('utf8') import subprocess import os import commands #os.system('cmd1 && cmd2') cmd1 = ...
在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为...
MSF 命令全集 MSF(Metasploit Framework)是一款功能强大且功能丰富的渗透测试工具,提供了多种命令来实现各种功能。...* `shell`:返回一个 cmdshell * `shutdown`:关闭远程系统 * `sysinfo`:显示系统信息
脚本制作迅雷后门 教程作者:平行空间 305058321 在安装了迅雷下载软件后 在网页的链接右击都会出现“用迅雷下载” 其在注册表的位置: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt 我们...
包括:dos 中打开路径带空格的文件;js脚本打开本地文件;打开多媒体视频文件;附代码与示例;iis中无法调用cmd命令,可以用wscript。
但在以前脚本的基础上很多是需要调用系统命令的比如 VS 编译一个项目,我们需要获取实时的回显知道编译的结果和进度。所以就有了以下方法: @staticmethod def __external_cmd(cmd, code=utf8): print(cmd...
无限制实数加减运算脚本.cmd 星光闪烁.bat 星光闪烁.cmd 显示c盘~z盘.bat 显示只有指定个数字符的行.cmd 显示各分区剩余空间情况.cmd 显示当面途径DIR.bat 显示所有分区的剩余空间(以MB为单位).cmd 显示本机用户...
exec master..xp_cmdshell 'dir *.exe' -- 执行目录命令查询[sql2005\sql2008] exec master..xp_fixeddrives --列出硬盘分区各自可用空间 xp_regwrite根键,子键,值名,值类型,值【sql2008拒绝访问】 ...
调用系统气泡.cmd 通过inf重启电脑.cmd C盘转换为NTFS格式.cmd dos下重启.bat guest.bat win2000关机命令.bat WIN2003 IIS最小权限分配.bat winxp修改计算机名.bat xp下确定最后的盘符.bat 不显示扩展名.bat 不显示...
补充知识:docker中启动容器时CMD调用的sh脚本中if命令报未预期的符号 if[[的解决办法 最近通过Dockerfile编写镜像,CMD中调用的是sh脚本(start.sh)进行启动容器,通过docker run启动时,启动不成功,进行docker ...
一段利用wps将ppt转换成jpg的脚本代码。 需要在windows下使用。需要已按装wps。 使用方法:在CMD中 wscript ppt2jpg.vbs PPT的完整路径 输出JPG的完整路径。...其他外部程序可以通过调用系统的shell指令,调用这个脚本。