URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6815
[ Назад ]

Исходное сообщение
"sh выключить обработку сигнала ctrl-c"

Отправлено aistpsk , 06-Окт-07 12:02 
как в скрипте на sh выключить обработку сигнала ctrl-c что бы пользователь не вываливался в домашний каталог надо что бы он вообще отваливался

спасибо


Содержание

Сообщения в этом обсуждении
"sh выключить обработку сигнала ctrl-c"
Отправлено angra , 06-Окт-07 18:45 
>как в скрипте на sh выключить обработку сигнала ctrl-c что бы пользователь
>не вываливался в домашний каталог надо что бы он вообще отваливался
>
>
>спасибо

Не совсем понял причем здесь каталоги. По поводу обработки сигналов в bash смотрите его ман на предмет trap.


"sh выключить обработку сигнала ctrl-c"
Отправлено L0n3R4ng3r , 06-Окт-07 21:51 
>как в скрипте на sh выключить обработку сигнала ctrl-c что бы пользователь
>не вываливался в домашний каталог надо что бы он вообще отваливался
>
>
>спасибо

ничего не понял насчет каталогов, а насчет сигналов добавь в начале скрипта строчку
stty intr ^P


"sh выключить обработку сигнала ctrl-c"
Отправлено angra , 07-Окт-07 15:27 
>ничего не понял насчет каталогов, а насчет сигналов добавь в начале скрипта
>строчку
>stty intr ^P

Вам никогда не приходило в голову что настройки терминала это личное дело пользователя и никакой скрипт не должен их трогать без действительно серьезных причин? Задача - корректная обработка сигнала INT, а не отключение комбинации ctrl-c на локальном терминале.


"sh выключить обработку сигнала ctrl-c"
Отправлено L0n3R4ng3r , 08-Окт-07 13:20 
>>ничего не понял насчет каталогов, а насчет сигналов добавь в начале скрипта
>>строчку
>>stty intr ^P
>
>Вам никогда не приходило в голову что настройки терминала это личное дело
>пользователя и никакой скрипт не должен их трогать без действительно серьезных
>причин? Задача - корректная обработка сигнала INT, а не отключение комбинации
>ctrl-c на локальном терминале.

ну во-первых настройки работают только в окружении даного скрипта и дальше скрипта не выйдут, а во-вторых в первом посте было сказано: "выключить обработку сигнала ctrl-c" посколько не было сказано что именно INT, значит человек врятли знал что этот сигнал  называеться sigint, следовательно не будет пользоваться kill или killall, а только ctrl+C


"sh выключить обработку сигнала ctrl-c"
Отправлено artemirk , 10-Окт-07 04:41 
у меня вот так вот работает:

#!/bin/bash
while true
do
sleep 5;
trap "echo Not_Killed" 2
trap2()
{
    echo "";
}
done

Запускаем скрипт и когда жмем ctrl-c выводится
Not_Killed