Linux 是否可以在shell脚本中对命令设置计时器任务?
考虑下面的bash代码段,在这里我试图借助Linux 是否可以在shell脚本中对命令设置计时器任务?,linux,bash,sh,Linux,Bash,Sh,考虑下面的bash代码段,在这里我试图借助ghostscript gs_res=$(gs -sDEVICE=pdfwrite -sOutputFile="$gsoutputfile" -dNOPAUSE -dBATCH "$2" 2>&1 1>/dev/null) ec=$? gs_error_pattern="Error:" 每当ghost脚本进程出现错误时,进程不会终止,shell脚本中的其余部分也不会执行 如果我可以像下面这样在计时器任务中包含单个命令行,那就更好了
ghostscript
gs_res=$(gs -sDEVICE=pdfwrite -sOutputFile="$gsoutputfile" -dNOPAUSE -dBATCH "$2" 2>&1 1>/dev/null)
ec=$?
gs_error_pattern="Error:"
每当ghost脚本进程出现错误时,进程不会终止,shell脚本中的其余部分也不会执行
如果我可以像下面这样在计时器任务中包含单个命令行,那就更好了
但不确定
并在超过时间限制时终止时间任务。如果有人能帮我以更好的方式解决这个问题,那将是一个巨大的解脱。尝试使用
set-e
或
set-o pipefail
在脚本开始时。Gnu Coreutils有一个超时实用程序,如果在分配的时间内没有完成,它将终止使用它运行的命令。这会终止整个脚本(或)脚本中运行的命令吗?如果任何命令失败,set-e将停止脚本执行。set-o pipefail将允许管道命令或子shell命令返回第一个失败命令或最后一个成功命令的退出状态。
timer_task() {
gs_res=$(gs -sDEVICE=pdfwrite -sOutputFile="$gsoutputfile" -dNOPAUSE -dBATCH "$2" 2>&1 1>/dev/null)
}