【问题标题】:Avoid bash command output to logged避免 bash 命令输出被记录
【发布时间】:2020-06-01 13:51:59
【问题描述】:

我正在寻找一种方法来避免从 Node-Red 进程中执行的某些 bash 命令(在我的 Raspberry Pi 3B+ 设备上运行)将进入 Raspeberry OS 的 /var/log/system 日志文件(拉伸)。

特别是我有一个节点(在 node-red 内)每 30 秒执行一个 bash 命令,以终止串行设备上运行的任何最终进程(通过 FTDI USB 转换器连接到 Raspberry)。

我在 node-red 中执行的命令如下:

sudo fuser /dev/ttyFTDI_GAS -k

大多数情况下,FTDI 串行连接设备上没有正在运行的进程,因此该命令会导致错误。在这种情况下,此错误填充我的系统日志文件,使其 真的“拥挤”且难以阅读。

下面是我的系统文件的样子。

5 月 27 日 07:30:59 raspberrypi Node-RED[349]:5 月 27 日 07:30:59 - [info] [exec:96ba9b5a.d097b8] 错误:错误:命令失败:sudo fuser /dev/ttyFTDI_GAS - k

5 月 27 日 07:30:59 raspberrypi Node-RED[349]:5 月 27 日 07:31:29 - [info] [exec:96ba9b5a.d097b8] 错误:错误:命令失败:sudo fuser /dev/ttyFTDI_GAS - k

5 月 27 日 07:30:59 raspberrypi Node-RED[349]:5 月 27 日 07:31:59 - [info] [exec:96ba9b5a.d097b8] 错误:错误:命令失败:sudo fuser /dev/ttyFTDI_GAS - k

5 月 27 日 07:30:59 raspberrypi Node-RED[349]:5 月 27 日 07:32:29 - [info] [exec:96ba9b5a.d097b8] 错误:错误:命令失败:sudo fuser /dev/ttyFTDI_GAS - k

当有一个或模式进程使用连接的设备时,此命令(这就是使用“-k”选项的原因)将杀死它们并“释放”连接的设备,以便准备好接受一个与 Raspberry 的新串行通信。

有没有办法避免在系统日志中显示 sudo fuser /dev/ttyFTDI_GAS -k 命令的所有结果?

【问题讨论】:

  • 你试过sudo fuser /dev/ttyFTDI_GAS -k 2>/dev/null吗?
  • 嗨,沃尔特,感谢您带我走上正确的道路。你的建议对我不起作用。抑制进入系统日志的方法如下sudo fuser /dev/ttyFTDI_GAS -k > /dev/null 2>&1 &
  • 您可以发布您的解决方案作为答案并接受它或删除问题。当我发布您的解决方案和答案时,我会非常感谢。

标签: bash logging raspberry-pi3 fuser


【解决方案1】:

为了抑制系统日志中命令的每个条目,我找到的解决方案是在命令末尾添加> /dev/null 2>&1 &,因此在我的示例中为sudo fuser /dev/ttyFTDI_GAS -k > /dev/null 2>&1 &

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多