Вы неправильно понимаете смысл #!
. На самом деле это директива для операционной системы запускать эту программу под определенным интерпретатором.
Таким образом, сценарий может быть #!/usr/bin/perl
, и результирующая программа может быть запущена как ./myprogram
и может использоваться интерпретатор perl. Подобный #!/usr/bin/python
заставит программу работать под python.
Таким образом, строка #!/bin/bash
говорит ОС запустить эту программу под bash.
Вот пример:
$ echo $0
/bin/ksh
$ cat x
#!/bin/bash
ps -aux | grep $$
$./x
sweh 2148 0.0 0.0 9516 1112 pts/5 S+ 07:58 0:00 /bin/bash./x
sweh 2150 0.0 0.0 9048 668 pts/5 S+ 07:58 0:00 grep 2148
Таким образом, несмотря на то, что моя оболочка ksh, программа «x» работает под управлением bash из-за строки #!
, и это явно видно в листинге процесса.
Глядя на/etc/rc.d/pf
в NetBSD 4.0(или даже в 9.0 ), функция pf_reload
просто запускает pfctl -q -f /etc/pf.conf
, так что может показаться, что сброс старых правил не нужен.
Чтобы вручную сбросить все правила и состояния, вы можете использовать pfctl -F all
.
Если в аэропорту не установлены справочные страницы, вы можете прочитать справочную страницу дляpfctl(8)
онлайн.
Я искал команду для сброса текущих правил (, аналогичную ipfstat(8)
), но ничего не нашел в руководствах. Было бы полезно проверить состояние брандмауэра.