Відповіді:
Те, що вона робить, є цілком конкретним додатком. Коли ви натискаєте ctrl+ c, емулятор терміналу надсилає сигнал SIGINT на додаток переднього плану, який запускає відповідний "обробник сигналу". Обробник сигналу за замовчуванням для SIGINT завершує програму. Але будь-яка програма може встановити власний обробник сигналу для SIGINT (включаючи обробник сигналу, який зовсім не зупиняє виконання).
Мабуть, vlc встановлює обробник сигналу, який намагається зробити деяке очищення / витончене припинення під час першого виклику, і повертається до поведінки за замовчуванням миттєвого завершення виконання, коли воно викликається вдруге.
SIGINT , сигнал, що надсилається Ctrl+ C, умовно вказує програмі вийти на основний цикл обробки команд, або, якщо це не має сенсу, чисто вийти. Деякі програми виконують процедуру очищення, коли вони отримують SIGINT. Якщо програма настільки заплутана, що процедура очищення не вдається, у деяких програмах секунда Ctrl+ Cзмушує програму негайно вийти з програми. Це буде вирішувати кожен автор програми.
Якщо другий Ctrl+ Cне вбиває програму, спробуйте Ctrl+ \, яка посилає SIGQUIT , більш жорстокий (але все - таки catchable сигналу), або спробувати Ctrl+ , Zщоб призупинити програму , а потім kill
команда (наприклад , kill %1
який посилає SIGTERM , а зазвичай менше насильницький сигнал ніж SIGQUIT, до завдання № 1). Якщо все інше не вдасться, вбийте програму за допомогою kill -KILL
, також відомого як kill -9
, що надсилає сигнал, який не можна знайти, SIGKILL .