有没有办法在特定的时间内运行命令然后杀死它?
示例 1:
我想播放一首歌曲cvlc1 分钟然后停止。(歌曲长度超过 1 分钟)。
示例 2:
我想运行命令cmatrix30 秒然后停止它。
该timeout命令正是为此而构建的。运行cvlc命令 1 分钟:
timeout 1m cvlc-command
Run Code Online (Sandbox Code Playgroud)
时间段可以使用字符串 d 表示天,h 表示小时,m 表示分钟,s 表示秒。如果没有给出时间度量字母,则默认为秒。
一个有用的选项是--preserve-status,即使它被终止,它也会使超时命令以受控命令的状态代码退出。如果不使用此选项,如果没有超时发生,状态代码将是受控命令的状态代码,如果命令超时,状态代码将是 124。
如果您需要非常确定服务已停止,另一个有用的选项是使用--kill-after=<time>它,如果命令没有在时间设置的新限制之前停止,它将向命令发送另一个终止信号