run-y
run-y
是专门运行 Ylang 脚本的工具。它实际上封装了orxray ylang
命令,但是使用起来更加方便。
使用方法
Usage: run-y [OPTIONS] [ylang file]
OPTIONS:
-a, --agent integer Agent ID. Specify the agent to run the ylang script.
-e string Y language script. Only one of ylang file and -e option can be specified.
-v, --verbose Print verbose informations.
-q, --quiet Avoid print verbose informations.
--print-job-uri Print the job uri after running the script.
-p, --pid integer Target process ID. Specify the process ID to be analyzed by the ylang.
-f, --file string Process file. Specify the path to the process file to be analyzed in ylang.
-c, --command string Command will be run and the process will be analyzed by ylang.
--cmd-args string Specify the command args when you use command mode.
示例
1. 使用 -e 选项,执行 Ylang 语句
你可以使用-e选项指定并执行一段 Ylang 语句。
$ run-y -e '_probe _begin { printf("Hello, world!\n"); _exit(); }'
Start tracing...
Hello, world!
2. 运行 Ylang 脚本
首先请准备一个 Ylang 脚本。
$ cat hello.y
_probe _begin { printf("Hello, world!\n"); _exit(); }
然后就可以使用下面的命令来执行它。
$ run-y hello.y
Start tracing...
Hello, world!
3. 使用 -a 选项来指定
$ run-y hello.y -a 1294
Start tracing...
Hello, world!
4. 显示详细信息
可以使用 -v 选项来打印更加详细的信息。
$ run-y hello.y -v
info: start to run job(4371497725) on the console side
info: job directory: 2021-12-08/07/job-4371497725
info: analyze the whole system
info: job runtime: stap
info: start to compile opslang in cli-tool-34539
info: sending the compiled opslang to agent
info: agent: start to run the tool: cli-tool-34539
info: agent: start to collect process build info
info: agent: build info hit the cache
info: agent: orxray_cli_tool_87441_XXXXXXX.ko hit the cache
info: agent: start to run the tool
info: agent: running tool cli-tool-34539 ...
Start tracing...
Hello, world!
real 0m0.382s
user 0m0.013s
sys 0m0.043s
5. 打印任务 URI
使用--print-job-uri
选项, 脚本执行完毕后会打印任务 URI。
你可以访问这个 URI 来获取任务详细信息。
$ run-y hello.y --print-job-uri
Start tracing...
Hello, world!
Goto https://xxxx.xray.xxx.com.cn/targets/1294/history/4371497759