我想运行一个永无止境的命令(例如循环播放 mp3 文件)一段长度为 T 的时间。
我将命令放入 shell 脚本 my.sh 中:
#! /bin/bash
vlc /path/to/my.mp3 # will play the file in loop till I terminate it.
然后我尝试运行它
my.sh &
pid="$!" # need to get the pid of the vlc process.
sleep 2.5h
kill $pid
看起来它只杀死运行shell脚本的进程,而不杀死运行脚本中命令的进程。如何终止脚本中运行命令的进程?
谢谢。
答案1
答案2
爱timeout
接近原始帖子的替代解决方案:
我的.sh:
#!/bin/bash
vlc /path/to/my.mp3 & # ADDED & <- will play the file in loop till I terminate it.
pid=$!
sleep 10
kill $pid
chmod:
chmod +x my.sh
运行:
./my.sh &