1 - /cmd/kill
杀死正在执行的进程
参数
id
: 机器idpid
: 进程id
返回值
{
"code": 0
}
错误,未找到机器
{
"code": 404,
"msg": "(client|process) not found"
}
2 - /cmd/ps
列出当前正在执行的命令列表
参数
id
: 机器ID
返回值
{
"code": 0,
"payload": [
{
"id": 进程ID,
"channel": 输出信息的管道ID,
"name": 进程名称,
"start_time": 进程创建时间戳,
"up_time": 启动时间(秒)
}, ...
]
}
错误,未找到机器
{
"code": 404,
"msg": "client not found"
}
3 - /cmd/pty
获取脚本输出内容
参数
id
: 机器IDpid
: 进程ID
返回值
http_code=200
body=内容
pid不存在
http_code=404
body=process not found
错误,其他异常
http_code=500
body=错误内容
4 - /cmd/run
执行命令
参数
id
: 机器IDcmd
: 命令args
: 运行参数,csv,逗号用%2c%编码timeout
: 运行超时秒数,可选(默认3600)auth
: sudo、su或空值,可选user
: 账号,可选pass
: 密码,可选workdir
: 工作目录,可选env
: 环境变量,csv,逗号用%2c%编码defer_rm
: 运行完毕后删除的文件路径,可选callback
: 运行完毕后回调地址,可选
返回值
{
"code": 0,
"payload": {
"channel_id": "20220706-00002-f230bae72f2ca269", // 任务ID
"pid": 9655 // 进程id
}
}
错误,未找到机器
{
"code": 404,
"msg": "client not found"
}
错误,超时
{
"code": 408,
"msg": "timeout"
}
错误,命令执行失败
{
"code": 1,
"msg": "错误原因"
}
说明
- 当给定
defer_rm
参数时命令执行完毕后将会删除给定路径的文件 - 当给定
callback
参数时将会通过GET
的方式进行回调,同时将以下参数拼接在url内部agent_id
: 执行agent的IDpid
: 创建进程ID
5 - /cmd/status
获取进程运行状态
参数
id
: 机器IDpid
: 进程ID
返回值
{
"code": 0,
"payload": {
"id": 进程ID,
"channel": 该进程的channel id,
"created": 进程创建时间,
"running": 该进程是否在执行中,
"code": 返回码(仅当running=false时有效)
}
}
错误,未找到机器或进程
{
"code": 404,
"msg": 错误内容
}
6 - /cmd/sync_run
执行命令并同步等待其完成
参数
id
: 机器IDcmd
: 命令args
: 运行参数,csv,逗号用%2c%编码timeout
: 运行超时秒数,可选(默认60,最大60)auth
: sudo、su或空值,可选user
: 账号,可选pass
: 密码,可选workdir
: 工作目录,可选env
: 环境变量,csv,逗号用%2c%编码defer_rm
: 运行完毕后删除的文件路径,可选
返回值
{
"code": 0,
"payload": {
"code": 0, // 返回码(-65535表示执行失败或超时)
"data": "aGVsbG8gd29ybGQ=", // 返回内容经过base64编码
}
}
错误,未找到机器
{
"code": 404,
"msg": "client not found"
}
错误,超时
{
"code": 408,
"msg": "timeout"
}
错误,命令执行失败
{
"code": 1,
"msg": "错误原因"
}
说明
- 当给定
defer_rm
参数时当命令执行完毕后将会执行对应操作