killall stupid_prog
(убить прогу, если она есть)
А прогу-то зачем прибивать? По-моему, это негуманно - убивать проги, достаточно сообщить, что софт обновлен, и надо его перезапустить во избежание глюков.
Файл с программой перезапишется без проблем, когда юзер ее запустит снова, будет уже новая версия.
На линухе нельзя заблокировать файл от суперъюзера, там блокировка кооперативная, надо явно проверить, нет ли замка на файле функцией flock(), и, если нет - получить его.
Если замок не проверять, то, если есть права, система его и так отдаст, независимо от того, ставил на его кто-либо замок или нет.
Т.е. идеология - "-- кто тут, к примеру, в цари крайний?! Никого?! Так значит, я первый!"
покурить man zenity
... или man kdialog, кому что роднее.