执行 (exec)
执行系统命令并返回结果。
输入
包含命令或参数的消息对象。
输出
命令执行结果消息对象。
详细说明
执行节点可以运行系统命令并返回结果。
配置选项
- 命令: 要执行的系统命令
- 追加: 将msg.payload作为参数追加到命令
- 超时: 命令执行超时时间(秒)
- 输出格式:
- 执行完成时输出(exec模式)
- 命令运行时输出(spawn模式)
输出消息格式
exec模式:
javascript
// 成功执行
msg = {
payload: "命令输出结果",
rc: {
code: 0, // 退出代码
signal: null // 信号
}
}
// 执行失败
msg = {
payload: {
error: "错误信息",
stderr: "标准错误输出",
stdout: "标准输出"
},
rc: {
code: 1,
signal: null
}
}
spawn模式:
javascript
// 标准输出
msg = {
payload: "输出行",
topic: "stdout"
}
// 标准错误
msg = {
payload: "错误行",
topic: "stderr"
}
// 进程结束
msg = {
payload: 0, // 退出代码
topic: "return"
}
示例
执行简单命令:
javascript
// 配置:命令 = "ls -la"
// 输出
msg = {
payload: "total 8\ndrwxr-xr-x 2 user user 4096 Jan 1 12:00 .\n...",
rc: {code: 0, signal: null}
}
带参数的命令:
javascript
// 配置:命令 = "echo", 追加 = true
// 输入
msg = {payload: "Hello World"}
// 输出
msg = {
payload: "Hello World\n",
rc: {code: 0, signal: null}
}
应用场景
- 系统管理和监控
- 文件操作
- 调用外部程序
- 系统集成
注意事项
- 注意命令执行的安全性
- 设置合适的超时时间
- 处理命令执行失败的情况
- 避免执行危险命令