这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

命令行相关接口

命令行相关接口,依赖exec插件

1 - /cmd/kill

杀死正在执行的进程

参数

  1. id: 机器id
  2. pid: 进程id

返回值

{
  "code": 0
}

错误,未找到机器

{
  "code": 404,
  "msg": "(client|process) not found"
}

2 - /cmd/ps

列出当前正在执行的命令列表

参数

  1. id: 机器ID

返回值

{
  "code": 0,
  "payload": [
    {
      "id": 进程ID,
      "channel": 输出信息的管道ID,
      "name": 进程名称,
      "start_time": 进程创建时间戳,
      "up_time": 启动时间(秒)
    }, ...
  ]
}

错误,未找到机器

{
  "code": 404,
  "msg": "client not found"
}

3 - /cmd/pty

获取脚本输出内容

参数

  1. id: 机器ID
  2. pid: 进程ID

返回值

http_code=200
body=内容

pid不存在

http_code=404
body=process not found

错误,其他异常

http_code=500
body=错误内容

4 - /cmd/run

执行命令

参数

  1. id: 机器ID
  2. cmd: 命令
  3. args: 运行参数,csv,逗号用%2c%编码
  4. timeout: 运行超时秒数,可选(默认3600)
  5. auth: sudo、su或空值,可选
  6. user: 账号,可选
  7. pass: 密码,可选
  8. workdir: 工作目录,可选
  9. env: 环境变量,csv,逗号用%2c%编码
  10. defer_rm: 运行完毕后删除的文件路径,可选
  11. 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": "错误原因"
}

说明

  1. 当给定defer_rm参数时命令执行完毕后将会删除给定路径的文件
  2. 当给定callback参数时将会通过GET的方式进行回调,同时将以下参数拼接在url内部
    • agent_id: 执行agent的ID
    • pid: 创建进程ID

5 - /cmd/status

获取进程运行状态

参数

  1. id: 机器ID
  2. pid: 进程ID

返回值

{
  "code": 0,
  "payload": {
    "id": 进程ID,
    "channel": 该进程的channel id,
    "created": 进程创建时间,
    "running": 该进程是否在执行中,
    "code": 返回码(仅当running=false时有效)
  }
}

错误,未找到机器或进程

{
  "code": 404,
  "msg": 错误内容
}

6 - /cmd/sync_run

执行命令并同步等待其完成

参数

  1. id: 机器ID
  2. cmd: 命令
  3. args: 运行参数,csv,逗号用%2c%编码
  4. timeout: 运行超时秒数,可选(默认60,最大60)
  5. auth: sudo、su或空值,可选
  6. user: 账号,可选
  7. pass: 密码,可选
  8. workdir: 工作目录,可选
  9. env: 环境变量,csv,逗号用%2c%编码
  10. defer_rm: 运行完毕后删除的文件路径,可选

返回值

{
  "code": 0,
  "payload": {
    "code": 0, // 返回码(-65535表示执行失败或超时)
    "data": "aGVsbG8gd29ybGQ=", // 返回内容经过base64编码
  }
}

错误,未找到机器

{
  "code": 404,
  "msg": "client not found"
}

错误,超时

{
  "code": 408,
  "msg": "timeout"
}

错误,命令执行失败

{
  "code": 1,
  "msg": "错误原因"
}

说明

  1. 当给定defer_rm参数时当命令执行完毕后将会执行对应操作