超时命令 - 来自 shell 脚本的 echo 输出
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=
timeout --kill-after=90s 60s sudo ./doImport.sh $DBNAME
if (($? == 124)); then
echo "Import timed out" | tee -a $IMPORTLOG
exit 124
fi
如何使用行 timeout --kill-after=90s 60s sudo ./doImport.sh $DBNAME
从 doImport.sh
获取输出?
source
解决了我的问题。
我首先使用它是错误的,因为与 sudo
结合使用时必须这样使用 sudo -s
像这样更改我的脚本:
timeout --kill-after=90s 60s sudo -s ./doImport.sh $DBNAME
是答案
我想在我的导入脚本上设置超时。
使用 timeout
时,导入脚本不会通过 loadImport.sh
输出。这很麻烦,因为 loadImport.sh
是由 php 文件加载的脚本,因此看不到任何输出。
第一个脚本 loadImport.sh
加载导入脚本 doImport.sh
超时。
loadImport.sh
#!/bin/bash
IMPORTLOG='/usr/local/bin/import.log'
DBNAME=
timeout --kill-after=90s 60s sudo ./doImport.sh $DBNAME
if (($? == 124)); then
echo "Import timed out" | tee -a $IMPORTLOG
exit 124
fi
如何使用行 timeout --kill-after=90s 60s sudo ./doImport.sh $DBNAME
从 doImport.sh
获取输出?
source
解决了我的问题。
我首先使用它是错误的,因为与 sudo
结合使用时必须这样使用 sudo -s
像这样更改我的脚本:
timeout --kill-after=90s 60s sudo -s ./doImport.sh $DBNAME
是答案