Linux 在特定间隔后停止Bash脚本
运行此脚本后,如果时间超过60秒,我希望停止此脚本。 假设第一个命令在10秒内执行,第二个命令需要50秒,之后我必须停止脚本的执行。使用 或者事后杀了它:Linux 在特定间隔后停止Bash脚本,linux,bash,Linux,Bash,运行此脚本后,如果时间超过60秒,我希望停止此脚本。 假设第一个命令在10秒内执行,第二个命令需要50秒,之后我必须停止脚本的执行。使用 或者事后杀了它: timeout 60 ./your_script.sh 使用 或者事后杀了它: timeout 60 ./your_script.sh 为什么脚本需要超过60秒?这些只是几个ls命令。@hek2mgl有趣的地方。假设是这样,如果其中一个目录真的很大,那么在某些平台上(至少在Linux上)可能需要很长时间。系统调用是非阻塞的,因此超时不一定
timeout 60 ./your_script.sh
使用
或者事后杀了它:
timeout 60 ./your_script.sh
为什么脚本需要超过60秒?这些只是几个
ls
命令。@hek2mgl有趣的地方。假设是这样,如果其中一个目录真的很大,那么在某些平台上(至少在Linux上)可能需要很长时间。系统调用是非阻塞的,因此超时不一定能够中断它。这只是一个例子。.命令会改变。.在现实场景中是一个糟糕的例子。为什么脚本需要60秒以上的时间?这些只是几个ls
命令。@hek2mgl有趣的地方。假设是这样,如果其中一个目录真的很大,那么在某些平台上(至少在Linux上)可能需要很长时间。系统调用是非阻塞的,因此超时不一定能够中断它。这只是一个例子。。命令会改变。。在现实世界中是一个坏例子。没有超时?@NicK Nope。我什么都不知道。我不是linux专家这就是为什么我要面对这个问题。。。我知道第一行捕获当前时间的方法,并且在执行每个命令后,如果超出预期时间,则签入if-else。终止进程。。也在每个命令的else部分中杀死命令。没有超时吗?@NicK Nope。我什么都不知道。我不是linux专家这就是为什么我要面对这个问题。。。我知道第一行捕获当前时间的方法,并且在执行每个命令后,如果超出预期时间,则签入if-else。终止进程。。在每个命令的else部分中也有killing命令。
./your_script.sh & :
sleep 60 && kill $!