当前位置: 首页>>代码示例>>Java>>正文


Java FileUtil.makeShellPath方法代码示例

本文整理汇总了Java中org.apache.hadoop.fs.FileUtil.makeShellPath方法的典型用法代码示例。如果您正苦于以下问题:Java FileUtil.makeShellPath方法的具体用法?Java FileUtil.makeShellPath怎么用?Java FileUtil.makeShellPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.fs.FileUtil的用法示例。


在下文中一共展示了FileUtil.makeShellPath方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: buildCommandLine

import org.apache.hadoop.fs.FileUtil; //导入方法依赖的package包/类
/**
 * Construct the command line for running the task JVM
 * @param setup The setup commands for the execed process.
 * @param cmd The command and the arguments that should be run
 * @param stdoutFilename The filename that stdout should be saved to
 * @param stderrFilename The filename that stderr should be saved to
 * @param tailLength The length of the tail to be saved.
 * @return the command line as a String
 * @throws IOException
 */
static String buildCommandLine(List<String> setup, List<String> cmd, 
                                    File stdoutFilename,
                                    File stderrFilename,
                                    long tailLength, 
                                    boolean useSetsid)
                              throws IOException {
  
  String stdout = FileUtil.makeShellPath(stdoutFilename);
  String stderr = FileUtil.makeShellPath(stderrFilename);    
  StringBuffer mergedCmd = new StringBuffer();
  
  // Export the pid of taskJvm to env variable JVM_PID.
  // Currently pid is not used on Windows
  if (!Shell.WINDOWS) {
    mergedCmd.append(" export JVM_PID=`echo $$` ; ");
  }

  if (setup != null && setup.size() > 0) {
    mergedCmd.append(addCommand(setup, false));
    mergedCmd.append(";");
  }
  if (tailLength > 0) {
    mergedCmd.append("(");
  } else if(ProcessTree.isSetsidAvailable && useSetsid &&
      !Shell.WINDOWS) {
    mergedCmd.append("exec setsid ");
  } else {
    mergedCmd.append("exec ");
  }
  mergedCmd.append(addCommand(cmd, true));
  mergedCmd.append(" < /dev/null ");
  if (tailLength > 0) {
    mergedCmd.append(" | ");
    mergedCmd.append(tailCommand);
    mergedCmd.append(" -c ");
    mergedCmd.append(tailLength);
    mergedCmd.append(" >> ");
    mergedCmd.append(stdout);
    mergedCmd.append(" ; exit $PIPESTATUS ) 2>&1 | ");
    mergedCmd.append(tailCommand);
    mergedCmd.append(" -c ");
    mergedCmd.append(tailLength);
    mergedCmd.append(" >> ");
    mergedCmd.append(stderr);
    mergedCmd.append(" ; exit $PIPESTATUS");
  } else {
    mergedCmd.append(" 1>> ");
    mergedCmd.append(stdout);
    mergedCmd.append(" 2>> ");
    mergedCmd.append(stderr);
  }
  return mergedCmd.toString();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:64,代码来源:TaskLog.java


注:本文中的org.apache.hadoop.fs.FileUtil.makeShellPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。