我有一个运行ruby脚本的cronjob,它从bash实用程序(ipmitool)收集数据。有时这个实用程序挂起,导致整个脚本挂起,导致cron作业堆叠起来......
执行此操作的代码行是:
'macaddress' => `timeout 5 ipmitool lan print | grep 'MAC Address'`.split(':',2)[1].strip
在cron作业中,这仍会导致脚本挂起但是当我在ruby脚本中手动测试以下内容时运行表格终端:
ans = `timeout 1 sleep 20 | grep 'hello'`
shell命令正确终止
如何阻止cron脚本挂起?
编辑:这是悬挂的悬念(悬挂在选择位置):
open("/root/.freeipmi/sdr-cache/sdr-cache-xxxx.localhost", O_RDONLY) = 4
mmap(NULL, 2917, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7f0ea2dfd000
ioctl(3, IPMICTL_SEND_COMMAND, 0x7fff74802020) = 0
select(4, [3], NULL, NULL, {60, 0}