Моя КШ версия ksh93-КШ не игнорируя SIGTERM
=>rpm -qa | grep ksh
ksh-20100621-3.fc13.i686
У меня есть простой скрипт, который, как показано ниже - #cat test_sigterm.sh -
#!/bin/ksh
trap 'echo "removing"' QUIT
while read line
do
sleep 20
done
Я Выполнение сценария от терминала 1 - 1. КШ запускается из/bin/KSH, как показано ниже:
# exec /bin/ksh
2. The script is executed from this ksh-
# ./test_sigterm.sh&
[1] 12136
и отправка "SIGTERM" от Терминал 2 -
# ps -elf | grep ksh
4 S root 12136 30437 0 84 4 - 1345 poll_s 13:09 pts/0 00:00:00 /bin/ksh ./test_sigterm.sh
0 S root 18952 18643 0 80 0 - 1076 pipe_w 13:12 pts/5 00:00:00 grep ksh
4 S root 30437 30329 0 80 0 - 1368 poll_s 10:04 pts/0 00:00:00 /bin/ksh
# kill -15 12136
Я могу видеть, что мой test_sigterm.sh становится убит при получении «SIGTERM» в любом случае, при запуске в фоновом режиме (&) и переднего плана. Но man-страницы ksh говорят - Сигналы. Сигналы INT и QUIT для вызываемой команды игнорируются, если за командой следует &, а опция монитора не активна. В противном случае сигналы имеют значения, унаследованные оболочкой от родительского (но см. Также встроенную команду trap).
Является ли поведение ksh неизвестным или стандартным для NOT IGNORE SIGTERM? или это проблема с обработкой сигнала SIGTERM для ksh?