O que faz é totalmente específico da aplicação. Quando você pressiona ctrl + c , o emulador de terminal envia um SIGINT sinalize para o aplicativo de primeiro plano, que aciona o "manipulador de sinal" apropriado. O manipulador de sinal padrão para SIGINT finaliza o aplicativo. Mas qualquer programa pode instalar seu próprio manipulador de sinal para o SIGINT (incluindo um manipulador de sinal que não interrompe a execução).
Aparentemente, o vlc instala um manipulador de sinal que tenta fazer uma limpeza / terminação simples na primeira vez em que é invocado e retorna ao comportamento padrão de finalizar instantaneamente a execução quando é invocado pela segunda vez.