linux - 在 shell 脚本中超时并报告这些输入超时
问题描述
我想使用带有数千个输入文件的程序 Arlsumstat_64bit 进行分析。
Arlsumstat_64bit 读取输入文件 (.arp) 并写入结果文件 (sumstat.out)。每个输入都会根据参数“0 1”在结果文件 (sumstat.out) 上附加新行。
因此,我编写了一个 shell 脚本来执行同一文件夹中的所有输入 (*.arp)。但是,如果输入文件包含错误,shell 脚本将被卡住而没有任何后续处理。因此,我找到了一个带有“超时”的命令来处理我的问题。我做了一个shell脚本如下
#!/bin/bash
for sp in $(ls *.arp) ;
do
echo "process start: $sp"
timeout 10 arlsumstat_64bit ${sp}.arp sumstat.out 1 0
rm -r ${sp}.res
echo "process done: $sp"
done
但是,我仍然需要知道哪些输入文件失败了。如何制作一个列表来告诉我哪些输入文件是“超时”的?
解决方案
下面的代码应该适合你:
#!/bin/bash
for sp in $(ls *.arp) ;
do
echo "process start: $sp"
timeout 10 arlsumstat_64bit ${sp}.arp sumstat.out 1 0
if [ $? -eq 0 ]
then
echo "process done sucessfully: $sp"
else
echo "process failed: $sp"
fi
echo "Deleting ${sp}.res"
rm -r ${sp}.res
done
推荐阅读
- javascript - in 运算符无法与 angular 中的 useValue 一起正常工作
- tensorflow - 输入层错误上的 Keras 输入层形状
- mysql - 错误 1396 (HY000): 'root'@'localhost' 的操作 ALTER USER 失败
- r - 在 R 中操作 XML 会意外更改标签的内容
- java - 使用带有消息驱动 Bean 的 Quartz 作业
- python - 无法访问 ADLS 数据,错误“响应”
- node.js - 猫鼬 | 在 post 中间件上填充“保存”
- php - PHP sqlsrv_fetch_array 未显示所有结果
- sql - 从主节点和级别节点构建层次结构表
- javascript - 按钮响应慢 - 需要点击两次