Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 是否可以在shell脚本中对命令设置计时器任务?_Linux_Bash_Sh - Fatal编程技术网

Linux 是否可以在shell脚本中对命令设置计时器任务?

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脚本中的其余部分也不会执行 如果我可以像下面这样在计时器任务中包含单个命令行,那就更好了

考虑下面的bash代码段,在这里我试图借助
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)

}