我有这个命令:
(youtube-dl http://www.youtube.com/watch?v=HhoewflkQu0) | zenity --progress --width=400 --height=100 --title="Scaricamento" --text "Scaricamento in corso..." --auto-close --pulsate
但我有一个问题:如果我点击“中止”或者我按“X”按钮没有任何反应...我怎样才能退出脚本及其启动的所有进程?
这是完整的脚本:
IFS=$'\n'
down_path=/home/$USER/Scaricati
you_url=`zenity --entry --text "Inserisci URL Youtube" --title "URL"`
file=`youtube-dl --get-filename $you_url`
cd $down_path
(youtube-dl $you_url) | zenity --progress --width=400 --height=100 --title="Scaricamento" --text "Scaricamento in corso..." --auto-close --pulsate
song_name=`zenity --entry --text "Inserisci titolo canzone e autore" --title "Info canzone"`
(ffmpeg -i $down_path/$file $song_name.mp3 -ab 256k 2>&1) | zenity --progress --width=400 --height=100 --title="Conversione" --text "Conversione in corso..." --auto-close --pulsate
rm -f $down_path/$file
unset IFS
notify-send "Conversione terminata" "
Il file:
$song_name.mp3
si trova nella cartella:
/home/$USER/Scaricati
Ti amo piccola mia non dimenticarlo mai
exit 0
答案1
它是脚本还是单行代码?
我会用一行代码来做类似的事情
(youtube-dl http://www.youtube.com/watch?v=HhoewflkQu0 & echo $! > /var/lock/y.pid) | zenity --progress --width=400 --height=100 --title="Scaricamento" --text "Scaricamento in corso..." --auto-close --pulsate; kill `cat /var/lock/y.pid`