配置与运行 JsN
运行
JsN.exe <配置文件路径.json>
示例:
JsN.exe config.json
JsN.exe "C:\scripts\monitor.json"
JsN.exe TCa\CaMonitor.json
JSON 配置文件格式
{
"scriptfile": "./my_script.js",
"arg": {
"key1": "value1",
"key2": 42,
"key3": true,
"nested": {
"sub": "value"
}
}
}
| 字段 | 类型 | 描述 |
|---|---|---|
scriptfile |
字符串 | JS 文件路径(相对于配置文件夹或绝对路径) |
arg |
对象 | 在脚本中可通过全局对象 arg 访问的任意数据 |
在脚本中访问 arg
"arg" 中的所有内容都会作为全局对象 arg 传递给 JS:
配置文件:
{
"scriptfile": "./run.js",
"arg": {
"host": "smtp.office365.com",
"port": 587,
"recipients": ["admin@example.com", "ops@example.com"],
"debug": false
}
}
脚本 run.js:
console.log(arg.host); // "smtp.office365.com"
console.log(arg.port); // 587
console.log(arg.recipients[0]); // "admin@example.com"
console.log(arg.debug); // false
scriptfile 中的路径
scriptfile 中的路径可以是:
| 格式 | 示例 | 行为 |
|---|---|---|
| 相对路径 | "./script.js" |
相对于配置文件所在文件夹 |
| 绝对路径 | "C:\\scripts\\run.js" |
绝对路径 |
建议: 将配置文件和脚本放在同一文件夹,并使用
"./script.js"。
项目结构
推荐的文件组织方式:
my-project/
├── config.json ← 配置文件(传递给 JsN.exe)
├── script.js ← 主脚本
└── lib/
└── helpers.js ← 辅助函数(如果需要)
针对不同任务的多配置文件
您可以为同一个脚本准备多个具有不同参数的配置文件:
monitor/
├── monitor.js ← 共享脚本
├── monitor-production.json ← 生产环境配置
└── monitor-staging.json ← 预发布环境配置
monitor-production.json:
{
"scriptfile": "./monitor.js",
"arg": {
"service": "MyApp_Production",
"process": "myapp.exe",
"notify_url": "https://hooks.slack.com/services/PROD/..."
}
}
monitor-staging.json:
{
"scriptfile": "./monitor.js",
"arg": {
"service": "MyApp_Staging",
"process": "myapp.exe",
"notify_url": "https://hooks.slack.com/services/STAG/..."
}
}
计划任务执行(任务计划程序)
如需定期执行,请使用 Windows 任务计划程序:
- 打开 任务计划程序 (
taskschd.msc) - 创建任务 → 操作 → 新建
- 程序/脚本:
C:\tools\JsN\JsN.exe - 添加参数:
C:\scripts\monitor\config.json - 配置触发器(每 N 分钟、启动时等)
或通过 PowerShell:
$action = New-ScheduledTaskAction `
-Execute "C:\tools\JsN\JsN.exe" `
-Argument "C:\scripts\monitor\config.json"
$trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Minutes 5) -Once -At (Get-Date)
Register-ScheduledTask -TaskName "JsN-Monitor" -Action $action -Trigger $trigger -RunLevel Highest
以管理员身份运行
srv_* 函数需要管理员权限。运行方式:
通过快捷方式: 右键单击 → 以管理员身份运行。
通过任务计划程序: 创建任务时 → 勾选“使用最高权限运行”。
通过 PowerShell:
Start-Process "JsN.exe" -ArgumentList "config.json" -Verb RunAs
JsN.exe 退出代码
| 代码 | 含义 |
|---|---|
0 |
脚本执行成功 |
1 |
加载配置文件或 JS 文件失败 |