在 Unix 中的给定时间后停止脚本 bash

Stop a script after a given time in Unix bash

我有一个 bash 脚本正在运行另一个脚本。我想要的是这样的:

#in scriptA.sh
./scriptB 
wait 10 seconds and kill scriptB

可行吗?

谢谢。

./scriptB &
sleep 10s
kill $!

工作原理

  • ./scriptB &

    这会在后台启动 scriptB

  • sleep 10s

    这将等待 10 秒

  • kill $!

    这会终止最近执行的后台进程。

    kill 将杀死给定进程 ID 的任何进程。 $!是最近执行的后台进程的进程ID。