EXE Service — Documentation
EXE Service — a GUI utility that turns any EXE file into a Windows service in three clicks. Configure via JSON: startup parameters, logging, auto-restart, and JS scripts for notifications (Email/Slack/Telegram). Works through the standard Windows SCM — no wrappers needed. Ideal for Nginx, Syncthing, backends, and monitoring.
Hardware
- CPU: modern x64 or x86 processor
- Memory: min 20 mb RAM
- Hard Disk Space: 25 MB for installation files and sufficient disk space for package files
Operating systems
- Windows 11
- Windows 10
- Windows 7 (Packages only)
- Windows Server 2012/2012 R2/2016/2019/2022/2025
- Hyper-V Server 2019
- Windows Core, and Nano Server editions
Requirements
- For
svc_*functions — run as administrator - UTF-8 console (set automatically)
JsN
JsN.exe is a lightweight engine for running JavaScript scripts oriented for services. It has access to native Windows APIs: process monitoring, service management, HTTP requests, and email sending.
Contents
| File | Description |
|---|---|
| Configuration | Config format, running |
| Process API | Process monitoring and management |
| Service API | Windows service management |
| HTTP API | HTTP requests (GET / POST) |
| Email API | Email sending (SMTP) |
| Examples | Ready-made examples: Discord, Slack, Telegram, monitoring |
Quick start
1. Create a JSON config
{
"scriptfile": "./my_script.js",
"arg": {
"process_name": "notepad.exe"
}
}
2. Write a script
// 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("Process not found");
}
3. Run
JsN.exe my_config.json
Available functions by module
| Module | Functions | Requires admin |
|---|---|---|
| Process monitoring | proc_find, proc_cpu, proc_ram, proc_alive, proc_service |
— |
| Process management | proc_kill, proc_run |
— |
| Windows services | svc_status, svc_start, svc_stop, svc_restart |
✓ |
| HTTP | http_get, http_post |
— |
send_email |
— |
The arg variable
All content of the "arg" field from the JSON config is available in the script as a global object arg:
{ "arg": { "host": "smtp.example.com", "port": 587 } }
console.log(arg.host); // "smtp.example.com"
console.log(arg.port); // 587
Result pattern
All functions return an object. On success error is an empty string; on failure it contains a description:
let r = proc_kill(1234);
if (r.ok) {
console.log("Done");
} else {
console.log("Error:", r.error);
}