如何运行与视频长度一样长的bash脚本?

如何运行与视频长度一样长的bash脚本?

如何运行与视频长度一样长的bash脚本?

我将设置一个 cron 来在晚上 7 点启动 bash 脚本,并且我希望让它运行与视频长度一样长。怎么做?

示例:晚上 7 点 bash 脚本启动 movie.avi,长度为 3 分钟。 Bash 脚本持续运行 3 分钟然后关闭。

答案1

你可以使用wait.

来自 Linux 手册页:

等待,waitpid,waitid- 等待进程改变状态

所有这些系统调用都用于等待调用进程的子进程的状态更改,并获取有关状态已更改的子进程的信息。状态改变被认为是: 子进程终止;孩子被信号拦住了;或者孩子通过信号恢复。在子进程终止的情况下,执行等待允许系统释放与子进程相关的资源;如果不执行等待,则终止的子进程仍处于“僵尸”状态。

举个例子:

#!/bin/bash

/usr/bin/vlc --vlc_args &
wait 
echo "VLC has finished."
poweroff # you said: "then shuts down" 

答案2

如果您希望 bash 脚本播放视频并在视频结束时退出,您可以使用 vlc 选项,--play-and-exit如下所示:

#! /bin/bash
vlc --play-and-exit /path/to/video.mpg

这样当视频结束时vlc就会自动退出。

答案3

不确定如何从脚本中调用视频软件,但只要软件在电影完成后关闭,您就可以使用wait

#!/bin/bash

/video/software &
$PID=$!

wait $PID
echo "Movie complete!"

相关内容