超时命令 - 来自shell脚本的echo输出

时间:2017-08-31 15:39:30

标签: linux bash sh gnu

我想在导入脚本上设置超时。

使用timeout时,导入脚本不会通过loadImport.sh输出。这很麻烦,因为loadImport.sh是由php文件加载的脚本,因此没有看到输出。

第一个脚本loadImport.sh加载导入脚本doImport.sh并超时。

loadImport.sh

#!/bin/bash

IMPORTLOG='/usr/local/bin/import.log'
DBNAME=$1

timeout --kill-after=90s 60s sudo ./doImport.sh $DBNAME
if (($? == 124)); then
  echo "Import timed out" | tee -a $IMPORTLOG
  exit 124
fi

如何使用doImport.sh行获取timeout --kill-after=90s 60s sudo ./doImport.sh $DBNAME的输出?

1 个答案:

答案 0 :(得分:0)

source解决了我的问题。

我首先使用它是错误的,因为与sudo结合使用它必须像sudo -s一样使用

像这样更改我的脚本: timeout --kill-after=90s 60s sudo -s ./doImport.sh $DBNAME 是答案