gpt4 book ai didi

linux - 如果出现问题,如何让 ksh 脚本自行终止?

转载 作者:太空宇宙 更新时间:2023-11-04 06:04:26 24 4
gpt4 key购买 nike

我写了几个ksh脚本,大约6个脚本。它们是为处理巨大的数据文件而编写的,例如 207 MB 大。运行脚本时,有时会卡住并且无法结束。需要人为中断。在生产环境中,我希望它自动运行,并且如果出现任何问题应该能够自动结束,而不需要任何人为中断。如果文件存在问题,脚本应结束并开始执行下一个文件。如果卡住了,如何让它自行终止?

最佳答案

我认为,您看到问题的唯一方法是脚本花费的时间太长。在这种情况下,一个在超时后终止进程的简单脚本就足够了:

#!/bin/bash
# Killersrcipt
PID=$1
TIME=$2

typeset -i i
i=0

while [ $i -lt $TIME ] ; do
if ps $PID > /dev/null ; then
i=$i+1
sleep 1
else
exit 0
fi
done

kill $PID

您的工作流程将类似于:

#!/bin/bash
process_1 &
killerscript $! 60
process_2 &
killerscript $! 30
...

如果您有其他方法来检测流程中的问题,您可以轻松地将它们添加到 killer 脚本的循环中。

关于linux - 如果出现问题,如何让 ksh 脚本自行终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com