绞尽脑汁并搜索谷歌以找到一种方法来获取sem
带有超时选项的命令,以便在超时时给我一个退出代码。它不一定要通过sem
,这只是一种痛苦,因为我最终需要根据是否:
我从被调用的脚本中得到一个 OK 响应
我从被调用的脚本中得到什么,但没问题
通话超时
在这种情况下,信号量用于限制对脚本的调用,我将文件名列表传递给传出消息队列。正如您在下面的粗略测试示例中看到的那样,我能够处理前两种情况,但我无法在我的一生中得到任何输出,我可以从因超时终止的进程中使用(即outputtest.sh
有sleep 6; echo testings
)
sem --jobs 3 --timeout 3 -u \
'runproc=$(bash outputtest.sh q_xxxx); if [ "$runproc" == "00" ];
then echo "OK"; else mv ./q_xxxx ./err/err_xxxx; fi'
有什么提示吗?