centos中的fuser命令在bash脚本中打印不需要的输出

时间:2018-05-09 10:31:29

标签: bash centos7 pid fuser

我使用的是centOS 7,我试图用#34; fuser"来检查使用端口X / tcp的进程的pid是什么?命令,通过bash脚本,如下:

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

虽然我不想在控制台上打印任何内容,但结果如下:

X/tcp:
Y/tcp:
...

当我尝试使用-s运行热熔器时,if statment返回false,因为热熔器的结果由于某种原因是空的。

如何避免不必要的打印? 为什么当我在静音模式下运行热熔器时它返回空?

1 个答案:

答案 0 :(得分:1)

fuser手册页中,您可以看到

  

fuser仅将PID输出到stdout,其他所有内容都发送到stderr。

那就是你需要摆脱stderr输出。

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