So, nach etwas längerem Rumprobieren habe ich jetzt eine Lösung gefunden, die bisher zu funktionieren scheint. So ganz gefällt mir das nicht, dass ich auf die child_proc.pid immer 1 draufaddieren muss, aber besser bekomme ich es jetzt erstmal nicht hin:
// Python-Skript auf Systemebene ausführen
const child_proc = exec("python3 Skriptpfad.py", function(err, stdout, stderr) {
if(err) log('Exec-Fehler: '+ stderr, 'error');
});
var child_pid = child_proc.pid + 1; // die PID des Python Skripts ist eine größer als die Shell
console.log(`Die PID ist ${child_pid}`); // PID in Konsole ausgeben
// Wenn das js-Skript beendet wird, soll das Python-Skript ebenfalls beendet werden (entspricht Strg+C)
onStop(() => {
exec(`kill -2 ${child_pid}`); // Child Prozess beenden mit Signal -2 (entspricht SIGINT)
console.log("Skript beendet!");
});
Vielen Dank allen Helfern!