【问题标题】:How to execute local bash script from RabbitMQ?如何从 RabbitMQ 执行本地 bash 脚本?
【发布时间】:2025-12-27 05:10:07
【问题描述】:

大家好。
接下来如何实现:

  1. 发布者(Web 客户端)将消息添加到队列中。
  2. RabbitMQ 必须使用队列消息中的参数执行 bash 脚本
  3. 如果 bash 脚本成功执行,则向 RabbitMQ 发送确认
  4. 收到确认后,RabbitMQ 将使用队列消息中的参数执行 bash 脚本。
  5. 在得到确认之前,RabbitMQ 将延迟执行 bash 脚本

是否可以使用 RabbitMQ 实现?
请给我一些建议好吗?

非常感谢您的帮助。

【问题讨论】:

标签: linux bash shell centos rabbitmq


【解决方案1】:

您需要使用system C stdlib 调用来执行此操作。还有一些其他相关的 SO 问题可以帮助您解决这个问题。在this one on executing shell built-insthis one on system 上尝试帮助。你也可以man systemman execv

解析您的队列消息,根据队列消息使用需要执行的命令制作char *string 对象,然后将其传递给system。如果您没有根据手册页获得它,请参阅 this SO question 以获取有关来自 system 的返回码的帮助。

【讨论】: