Команда fuser в centos выводит нежелательный вывод в скрипте bash - PullRequest
0 голосов
/ 09 мая 2018

Я использую CentOS 7, и я пытаюсь проверить, что pid процесса, используя порт X / tcp с командой "fuser", через скрипт bash, например так:

  some_pid=$(fuser X/tcp) > /dev/null
  another_pid=$(fuser Y/tcp) > /dev/null
  ...
  if [[ -z "$some_pid" ]]; then ...

Хотя я не хочу, чтобы что-либо печаталось на консоли, результаты таковы:

X/tcp:
Y/tcp:
...

Когда я пытаюсь запустить fuser с параметром -s, параметр if возвращает false, поскольку по какой-то причине результат термоэлемента пуст.

Как мне избежать нежелательной печати? Почему, когда я запускаю fuser в беззвучном режиме, он возвращается пустым?

1 Ответ

0 голосов
/ 09 мая 2018

На справочной странице fuser вы можете увидеть

fuser выводит только идентификаторы PID на стандартный вывод, все остальное отправляется на стандартный вывод.

То есть вам нужно избавиться от вывода stderr.

some_pid=$( fuser X/tcp 2> /dev/null )
...