簡體   English   中英

超時命令-Shell腳本的回顯輸出

[英]Timeout command - echo output from shell script

我想在導入腳本上設置超時。

使用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

source解決了我的問題。

我首先使用它是錯誤的,因為它必須與sudo結合使用,例如sudo -s

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM