EXE Service — Dokumentation
EXE Service — eine GUI-Anwendung, die jede EXE-Datei mit drei Klicks in einen Windows-Dienst verwandelt. Konfiguration per JSON: Startparameter, Protokollierung, automatischer Neustart und JS-Skripte für Benachrichtigungen (E-Mail/Slack/Telegram). Arbeitet über den standardmäßigen Windows SCM — keine Wrapper erforderlich. Ideal für Nginx, Syncthing, Backends und Monitoring.
Hardware
- CPU: Moderner x64- oder x86-Prozessor
- Arbeitsspeicher: Mind. 20 MB RAM
- Festplattenspeicher: 25 MB für Installationsdateien und ausreichend Platz für Paketdateien
Betriebssysteme
- Windows 11
- Windows 10
- Windows 7 (nur Pakete)
- Windows Server 2012/2012 R2/2016/2019/2022/2025
- Hyper-V Server 2019
- Windows Core- und Nano Server-Editionen
Voraussetzungen
- Für
svc_*-Funktionen — als Administrator ausführen - UTF-8-Konsole (wird automatisch gesetzt)
JsN
JsN.exe ist eine schlanke Engine zur Ausführung von JavaScript-Skripten, die auf Dienste ausgelegt ist. Sie bietet Zugriff auf native Windows-APIs: Prozessüberwachung, Dienstverwaltung, HTTP-Anfragen und E-Mail-Versand.
Inhaltsverzeichnis
| Datei | Beschreibung |
|---|---|
| Konfiguration | Konfigurationsformat, Ausführung |
| Prozess-API | Prozessüberwachung und -verwaltung |
| Dienst-API | Windows-Dienstverwaltung |
| HTTP-API | HTTP-Anfragen (GET / POST) |
| E-Mail-API | E-Mail-Versand (SMTP) |
| Beispiele | Fertige Beispiele: Discord, Slack, Telegram, Monitoring |
Schnellstart
1. JSON-Konfiguration erstellen
{
"scriptfile": "./my_script.js",
"arg": {
"process_name": "notepad.exe"
}
}
2. Skript schreiben
// 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("Prozess nicht gefunden");
}
3. Ausführen
JsN.exe my_config.json
Verfügbare Funktionen nach Modul
| Modul | Funktionen | Benötigt Admin |
|---|---|---|
| Prozessüberwachung | proc_find, proc_cpu, proc_ram, proc_alive, proc_service |
— |
| Prozessverwaltung | proc_kill, proc_run |
— |
| Windows-Dienste | svc_status, svc_start, svc_stop, svc_restart |
✓ |
| HTTP | http_get, http_post |
— |
send_email |
— |
Die arg-Variable
Alle Inhalte des Feldes "arg" aus der JSON-Konfiguration sind im Skript als globales Objekt arg verfügbar:
{ "arg": { "host": "smtp.example.com", "port": 587 } }
console.log(arg.host); // "smtp.example.com"
console.log(arg.port); // 587
Ergebnismuster
Alle Funktionen geben ein Objekt zurück. Bei Erfolg ist error ein leerer String; bei einem Fehler enthält es eine Beschreibung:
let r = proc_kill(1234);
if (r.ok) {
console.log("Erledigt");
} else {
console.log("Fehler:", r.error);
}