Предлагаю скрипт, который следит за процессом и после завершения процесса включает музыку.
Когда компиляция ядра уже запущена, то простое решение `make all install && beep` не работает.
Для работы скрипта выясните название процесса. В случае компиляции ядра - это первый в top процесс с именем cc1 или make. Также это может быть браузер icecat, firefox...
$ top
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25329 root 20 0 121120 90716 17752 R 84,2 2,6 0:02.84 cc1
25167 user 20 0 1909892 271236 84268 R 42,1 7,8 0:15.37 icecat
...
Так как при компиляции процесс cc1 может останавливаться, в данном примере поиск производится по cc1 или make, то есть `grep 'cc1\|make'`
Листинг bash-скрипта будильника завершения процесса
#!/bin/bash
#play music when no such process
#name of process
pr="${1:-cc1\|make}"
#delay between checks
delay=5
#num - quantity of process with such name as $pr defines
num=`ps aux | grep $pr | wc -l`
# the 1 process is grep so while greater then 1
while [ $num -gt 1 ]
do
echo 'Process ' $pr ' exists. num: ' $num
sleep $delay
num=`ps aux | grep $pr | wc -l`
done
echo 'No process ' $pr
gnome-mplayer '/home/y/Музыка/Katya_Chehova_-_My_Vmeste.mp3'
Скрипт в бесконечном цикле проверяет наличие процесса с именем, указанным в переменной $pr. Для работы скрипта нужно сохранить в файле, например, 1.sh, дать права исполнения и запустить. В следующем примере отслеживаемый процесс - icecat.
$ chmod +x 1.sh
$ ./1.sh
Process icecat exists. num: 3
Process icecat exists. num: 3
Process icecat exists. num: 3
Process icecat exists. num: 2
No process icecat
** (gnome-mplayer:24031): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
GMLIB-Message: after init: position=0,000 length=0,000 start_time=0,000 run_time=0,000 volume=0,00 player=dead media=unknown uri=
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
(gnome-mplayer:24031): GLib-CRITICAL **: Source ID 60 was not found when attempting to remove it
(gnome-mplayer:24031): GLib-CRITICAL **: Source ID 61 was not found when attempting to remove it
(gnome-mplayer:24031): GLib-CRITICAL **: Source ID 62 was not found when attempting to remove it
...