EXE Service — Документация

EXE Service — графическая утилита, которая превращает любой EXE-файл в службу Windows в три клика. Настройка через JSON: параметры запуска, логирование, авто-перезапуск и JS-скрипты для уведомлений (Email/Slack/Telegram). Работает через стандартный Windows SCM — обёртки не требуются. Идеально для Nginx, Syncthing, бэкендов и мониторинга.

Аппаратное обеспечение

  • CPU: современный процессор x64 или x86
  • Память: минимум 20 МБ ОЗУ
  • Место на диске: 25 МБ для файлов установки и достаточно места для файлов пакета

Операционные системы

  • Windows 11
  • Windows 10
  • Windows 7 (только пакеты)
  • Windows Server 2012/2012 R2/2016/2019/2022/2025
  • Hyper-V Server 2019
  • Windows Core и редакции Nano Server

Требования

  • Для функций svc_* — запуск от имени администратора
  • Консоль UTF-8 (устанавливается автоматически)

JsN

JsN.exe — это облегчённый движок для выполнения JavaScript-скриптов, ориентированный на службы. Имеет доступ к нативным API Windows: мониторинг процессов, управление службами, HTTP-запросы и отправка email.


Содержание

Файл Описание
Конфигурация Формат конфига, запуск
API процессов Мониторинг и управление процессами
API служб Управление службами Windows
HTTP API HTTP-запросы (GET / POST)
Email API Отправка email (SMTP)
Примеры Готовые примеры: Discord, Slack, Telegram, мониторинг

Быстрый старт

1. Создайте JSON-конфиг

{
  "scriptfile": "./my_script.js",
  "arg": {
    "process_name": "notepad.exe"
  }
}

2. Напишите скрипт

// my_script.js
let f = proc_find(arg.process_name);
if (f.found) {
    let cpu = proc_cpu(f.pid);
    let ram = proc_ram(f.pid);
    console.log("PID:", f.pid);
    console.log("CPU:", cpu.cpu.toFixed(1) + "%");
    console.log("RAM:", ram.ram_mb.toFixed(1) + " MB");
} else {
    console.log("Процесс не найден");
}

3. Запустите

JsN.exe my_config.json

Доступные функции по модулям

Модуль Функции Требует админа
Мониторинг процессов proc_find, proc_cpu, proc_ram, proc_alive, proc_service
Управление процессами proc_kill, proc_run
Службы Windows svc_status, svc_start, svc_stop, svc_restart
HTTP http_get, http_post
Email send_email

Переменная arg

Всё содержимое поля "arg" из JSON-конфига доступно в скрипте как глобальный объект arg:

{ "arg": { "host": "smtp.example.com", "port": 587 } }
console.log(arg.host);  // "smtp.example.com"
console.log(arg.port);  // 587

Шаблон результата

Все функции возвращают объект. При успехе error — пустая строка; при ошибке содержит описание:

let r = proc_kill(1234);
if (r.ok) {
    console.log("Готово");
} else {
    console.log("Ошибка:", r.error);
}