01.07.2021 2:32, Eugene Grosbein пишет: > В FreeBSD можно посмотреть состояние блокировок сигналов запущенного процесса: > > # ps -wo pid,sigmask,sigignore,command -p 53667 > PID BLOCKED IGNORED COMMAND > 53667 0 18788002 /usr/local/sbin/squid -f > /usr/local/etc/squid/squid.conf > > В данном случае у squid нет заблокированных сигналов и есть игнорируемые.
Можно также посмотреть подробности: # procstat -i 53667 | fgrep -v -- --- PID COMM SIG FLAGS 53667 squid INT -I- 53667 squid URG -I- 53667 squid CHLD -I- 53667 squid TTIN -I- 53667 squid TTOU -I- 53667 squid IO -I- 53667 squid WINCH -I- 53667 squid INFO -I- 53667 squid USR1 --C 53667 squid 32 --C Тут мы видим те сигналы, для которых включено игнорирование (флаг I в наборе флагов) и два последних обрабатываются особо (флаг C от catch). Игнорирование глобально для всего процесса, но если процесс мультитредовый, то каждый тред может ещё блокировать доставку себе определенных сигналов. У squid такого нет, но вот пример для VBoxHeadless: # procstat -j 2212 | fgrep -v -- -- | head PID TID COMM SIG FLAGS 2212 100930 VBoxHeadless ALRM -B 2212 100934 VBoxHeadless ALRM -B 2212 100935 VBoxHeadless ALRM -B 2212 100936 VBoxHeadless ALRM -B 2212 100937 VBoxHeadless ALRM -B 2212 100939 VBoxHeadless ALRM -B 2212 100941 VBoxHeadless ALRM -B 2212 100944 VBoxHeadless ALRM -B 2212 100963 VBoxHeadless ALRM -B Это всё документировано в man procstat. _______________________________________________ freebsd mailing list freebsd@uafug.org.ua http://mailman.uafug.org.ua/mailman/listinfo/freebsd