linux执行命令直到完成

以copy命令为例:

public static void run_copy_command(String cpPath, String targetPath) {
  String cpCommand = "cp -rf " + cpPath + " " + targetPath;
  try {
   Process pro = Runtime.getRuntime().exec(cpCommand);
   InputStream stdin = pro.getErrorStream();
   InputStreamReader isr = new InputStreamReader(stdin);
   BufferedReader br = new BufferedReader(isr);
   String line = null;
   System.out.println("<output></output>");
   while ((line = br.readLine()) != null) {
    System.out.println(line);
    System.out.println("");
    int exitVal = pro.waitFor();
    System.out.println("Process exitValue: " + exitVal);
   }
  } catch (IOException e) {
   e.printStackTrace();
  } catch (InterruptedException e) {
   e.printStackTrace();
  }
 }
时间: 2024-10-19 15:52:02

linux执行命令直到完成的相关文章

jenkins 执行ssh 远程linux执行命令

1.远程机器编写脚本: 脚本名称为: /app/jboss/jboss-as/logs/ALL_SERVICE_STOP.sh 功能为:停止某个服务器某个目录下面的所有应用 #!/bin/bash path=/app/jboss/jboss-as/logs for instance in `ls $path|grep ".*.sh"|grep -v ALL_SERVICE_STOP.sh|xargs`;do cd $path ./$instance stop done 2.2台linu

java使用jsch远程链接linux执行命令

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader; import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelExec;import com.jcraft.jsch.JSch;import com.jcraft.jsch.JSchException;i

Linux执行命令./command与之间输入命令的区别

我们知道查看文件属性的命令ls的完整文件路径为:/bin/ls(这是绝对路径,)问什么我可以在任何地方执行,任何目录下输入ls就一定可以显示出一些信息而不会说找不到该/bin/ls命令,这是因为不同的用户有自己的path环境变量,在path环境变量中如果已经设置了这些路径,那就以在任何目录下执行命令ls,可以通过$Path查询包含的路径. 如果将ls有/bin/ls移动为/root/ls,然后自己也在/root目录下,那么能不能直接输入ls来执行?如果不能,该如何执行这个命令? 因为/root不

[Python] 利用commands模块执行Linux shell命令

用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数: 1. commands.getoutput('shell command') 执行shell命令,返回结果(string类型) >>> commands.getoutput('pwd') '/home/oracle' 2. commands.getstatus('file') 该函数

linux中执行命令权限不够怎样处理

在linux中执行命令权限不够就要增加权限,先看遇到的情况 查看权限情况 那就赋予权限 执行命令

linux下service+命令和直接去执行命令的区别,怎么自己建立一个service启动

启动一些程序服务的时候,有时候直接去程序的bin目录下去执行命令,有时候利用service启动. 比如启动mysql服务时,大部分喜欢执行service mysqld start.当然也可以去mysql下执行bin命令带上几个参数什么的. 那么service是啥呢?linux可以man一下,看出来就是去/etc/init.d下执行了可执行的shell脚本. service执行的服务脚本都是在/etc/init.d目录下,各个程序下脚本里执行的命令仍然是在各个bin下. 这样我们也可以在这个目录下

JAVA实现远程SSH连接linux并执行命令

package com.codeconch.ssh; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException;

linux -- 启动时启动服务或者执行命令

运行等级 首先,我们需要知道Linux系统关于运行等级的知识.在不同的linux系统上(例如ubuntu和Fedora)这些数字与和所代表的意义可能不同,但主要的有以下几个: 单用户模式. 多用户模式. 网络多用户模式. 用于特殊目的的预留 添加显示管理器到等级3 因此,对于普通的运行等级,服务使用等级3,这时不管X11是否启动,服务将自动启动. 服务,守护进程,服务器 在Ubuntu中,可以使用sys-rc-conf命令简单的选择需要启动的已安装服务. 在Fedora下,可以使用chkconf

java执行linux shell命令,并拿到返回值

1 package com.suning.spc.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.nio.charset.Charset; 6 7 import org.slf4j.Logger; 8 import org.slf4j.LoggerFactory; 9 10 import ch.ethz.ssh2.ChannelCondition; 11 import ch.eth