Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在特定间隔后停止Bash脚本_Linux_Bash - Fatal编程技术网

Linux 在特定间隔后停止Bash脚本

Linux 在特定间隔后停止Bash脚本,linux,bash,Linux,Bash,运行此脚本后,如果时间超过60秒,我希望停止此脚本。 假设第一个命令在10秒内执行,第二个命令需要50秒,之后我必须停止脚本的执行。使用 或者事后杀了它: timeout 60 ./your_script.sh 使用 或者事后杀了它: timeout 60 ./your_script.sh 为什么脚本需要超过60秒?这些只是几个ls命令。@hek2mgl有趣的地方。假设是这样,如果其中一个目录真的很大,那么在某些平台上(至少在Linux上)可能需要很长时间。系统调用是非阻塞的,因此超时不一定

运行此脚本后,如果时间超过60秒,我希望停止此脚本。 假设第一个命令在10秒内执行,第二个命令需要50秒,之后我必须停止脚本的执行。

使用

或者事后杀了它:

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 $!