小编264*_*4nm的帖子

BASH ...... GNU并行

绞尽脑汁并抓取谷歌找到一种方法来获取sem带超时的命令选项,以便在超时时给我一个退出代码.它不需要通过sem,这只是一种痛苦,因为我需要根据是否最终采用不同的行动:

  • 我从被调用的脚本得到了一个OK响应

  • 从调用的脚本中我得到的东西都没问题

  • 通话超时

在这种情况下,信号量用于限制对脚本的调用,我将文件列表传递给传出消息队列.正如您在下面的粗略测试示例中所看到的,我能够处理前两个场景,但我不能为我的生活得到任何输出,我可以使用从超时终止的进程(即outputtest.shsleep 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'
Run Code Online (Sandbox Code Playgroud)

任何提示?

linux bash shell semaphore gnu-parallel

4
推荐指数
1
解决办法
1172
查看次数

标签 统计

bash ×1

gnu-parallel ×1

linux ×1

semaphore ×1

shell ×1