跳转至

选项

查看帮助

执行 ./runner --help

就能看到居多 options 了。。。

  -m, --memory_limit=SIZE    memory limit (default 0) kb, when 0, not check
  -t, --cpu_time_limit=TIME  cpu_time limit (default 0) ms, when 0, not check
  -i, --system_input=FILE    system_input path
  -o, --system_output=FILE   system_output path
  -e, --user_err=FILE        user error output -> file path
  -u, --user_output=FILE     user outputs -> file path
  -s, --save=FILE            save result to file

 Optional options:
  -a, --attach=NAME          Attach to STDIN, STDOUT or STDERR
  -l, --log_file=FILE        log file path, (default ./runner.log)
      --memory_check_only, --mco   not set memory limit in run, (default false)

  -r, --real_time_limit=MS   real_time_limit (default 0) ms

  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

限制类

-m, --memory_limit=KB

内存限制。

-t, --cpu_time_limit=MS

CPU 时间限制。

cpu_time 的意思是用户在程序中用到的 CPU 计算所消耗的时间,不包括 IO 或者挂起时间。 real_time 是用户程序真实运行的时间。

输入输出文件相关

-i, --system_input=FILE

要 stdin 给用户程序的文件。

-o, --system_output=FILE

用户程序应该输出的内容,用于结果对比。

-e, --user_err=FILE

用户的程序的 stderr 输出,不开就啥都不输出。

-u, --user_output=FILE

用户程序实际 stdout 的内容,被重定向到这个文件中。

-s, --save=FILE

把那个 json 文件保存起来,不输出。

一些增强项

attach 输入输出流

  -a, --attach=NAME          Attach to STDIN, STDOUT or STDERR

因为 runner 只会输出自己的执行结果,所以如果不设置输出到文件的情况下,用户输出的数据就会被重定向到 /dev/null。 这个时候你可以使用这个选项来激活用户程序的标准输入输出。

可以多次使用,比如:

-a STDIN -a STDOUT

-l, --log_file=FILE

日志文件。

--memory_check_only, --mco

不真正的限制内存,只根据用户的输入值进行判题结果检查,看是否超内存。

-r, --real_time_limit=MS

真实时间限制。