Bash 如何在.sh文件中自动退出超时运行的程序?
有谁能告诉我,当一个执行程序(由相同的.sh文件启动)仍在运行时,如何在指定的超时(可能是300秒)后自动转义到bash脚本中的另一行Bash 如何在.sh文件中自动退出超时运行的程序?,bash,sh,Bash,Sh,有谁能告诉我,当一个执行程序(由相同的.sh文件启动)仍在运行时,如何在指定的超时(可能是300秒)后自动转义到bash脚本中的另一行 非常感谢 您可以在后台运行它 cmd1 & sleep 300 cmd2 如果您在Linux上运行,那么它附带了coreutils timeout -s KILL 300 command1 command2 timeout将向command1发送一个KILL信号,如果它在300秒后仍在运行。如果发生超时,退出状态将为124,否则退出状态为comman
非常感谢 您可以在后台运行它
cmd1 &
sleep 300
cmd2
如果您在Linux上运行,那么它附带了
coreutils
timeout -s KILL 300 command1
command2
timeout
将向command1
发送一个KILL
信号,如果它在300
秒后仍在运行。如果发生超时,退出状态将为124
,否则退出状态为command1
的退出状态,这如何强制执行时间限制?相反,这可以让cmd1
运行任意时间,而cmd2
必须等待300秒才能运行。您可以在运行cmd2Yes之前/之后的300秒后杀死cmd1。你必须自己做。但没那么难。$!将具有进程id。这不是关于它有多难这并没有回答问题,即“如何自动转义到另一行”。但是如果cmd1的执行时间超过300秒,我希望在时间结束时停止cmd1。这样可以吗?无论如何,我会试试的,谢谢!是否要上一行中止并继续下一行?您可以使用timeout-s KILL 300命令
将在300
秒后向command
发送一个KILL
信号。假设您在Linux上。