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 |
— |
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);
}