Проверить, запущен ли конкретный файл с определенным именем?

Интерфейс br0— это всего лишь «внутренний» интерфейс в дополнение к портам моста. Если вы не использовали этот IF для отправки пакетов, ничего не будет отображаться, но мост по-прежнему будет пересылать пакеты между портами.

Какая статистика по самим портам (eth1 eth0 )?

(А почему вы переводите их в неразборчивый режим?)

Редактировать

Мост действует на уровне 2 OSI, точно так же, как сетевой коммутатор. :Концептуально он перенаправляет все пакеты, которые он получает на один порт, на все другие порты, в том числе на внутренний порт, который является сетевым интерфейсом моста, и из него. Но точно так же, как реальный интерфейс Ethernet, подключенный к сегменту LAN, счетчики сетевого интерфейса будут активироваться только для пакетов, адресованных внутреннему интерфейсу (или отправленных с него ).

В качестве оптимизации он сохраняет список MAC-адресов, видимых на портах, и, если он распознает MAC-адрес назначения, перенаправляет только на этот порт.

Это ничего не меняет в пакете, никаких MAC-адресов или чего-то еще, если только вы не используете eftablesдля забавных вещей. Вы можете использовать tcpdump -e -i eth0и т. д. на портах, чтобы убедиться в этом самостоятельно.

В старых HOWTO вы можете найти замечание о том, что вы должны перевести интерфейсы портов в неразборчивый режим, но в этом уже давно нет необходимости. (Просто попробуйте ).

0
24.07.2019, 18:06
3 ответа

Попробуйтеpgrep:

pgrep -f test.php

Это выведет PID вашей команды.

Альтернатива:

ps aux | grep '[t]est\.php'

Будет выведена соответствующая строка ps aux.

1
28.01.2020, 02:39
#!/bin/sh
processname='login'
if [ "$(pgrep $processname)x" != "x" ]
then
    echo $processname is running
else
    echo $processname is NOT running
fi

Альтернативная версия, в которой вместо возвращаемого значения используется статус выхода, а также используется более компактный синтаксис

#!/bin/sh
processname='login'
pgrep $processname > /dev/null
test $? -eq 0 && echo "$processname is running" || echo "$processname is NOT running"
0
28.01.2020, 02:39

Другой вариант — использовать killall

killall -0 -q test.php && echo test.php is running

Несмотря на название команды, процесс не уничтожается.

0
28.01.2020, 02:39

Теги

Похожие вопросы