Ich habe Prozess erzeugt, die manchmal zu lange dauern, meine Frage ist, gibt es eine Möglichkeit, diese Prozesszeit zu begrenzen? zum Beispiel töten Sie diesen Prozess nach 3 min?Node Spawn Prozess Check für Timout
2
A
Antwort
2
Sie können process.kill
in einem Timeout verwenden. Denken Sie jedoch daran, das Zeitlimit abzubrechen, wenn das Kind fertig ist, bevor es ausgelöst wird.
bei diesem Beispiel Werfen Sie einen Blick:
Diese child.sh
ist, die nach 3 Sekunden zurück:
#!/bin/bash
sleep 3
echo DATA FROM CHILD
Dies ist ein Node-Programm, das das Kind laicht:
var seconds = process.argv[2] || 2;
var spawn = require('child_process').spawn;
var child = spawn('bash', ['child.sh'], {detached: true});
var stopped;
var timeout = setTimeout(() => {
console.log('Timeout');
try {
process.kill(-child.pid, 'SIGKILL');
} catch (e) {
console.log('Cannot kill process');
}
}, seconds*1000);
child.on('error', err => console.log('Error:', err));
child.on('exit',() => { console.log('Stopped'); clearTimeout(timeout); });
child.stdout.on('data', data => console.log(data.toString()));
standardmäßig Es wartet 2 Sekunden, was kürzer ist als das Kind benötigt und das Kind wird getötet, aber Sie können eine andere Anzahl von Sekunden als Kommandozeilenargument hinzufügen:
auf 10 Sekunden warten, damit das Kind fertig ist.
Verwandte Themen
- 1. Node-Spawn-Prozess und Speicherausgabe
- 2. Läuft der Node Child-Prozess-Spawn auf Multi-Core-CPU?
- 3. Linux-Prozess-Spawn/Creation-Trigger
- 4. Spawn ein Kind Prozess in Elektron
- 5. node require ('child_process') spawn throws ENOENT
- 6. Spawn-Prozess auf Remote-Host in NodeJS
- 7. Fehler: Spawn EACCES mit Node-fließend-ffmpeg
- 8. Node-webkit Kind spawn UNKNOWN Fehler
- 9. Spawn einen Prozess in Python ohne Forking
- 10. Docker-Stopp funktioniert nicht für Node-Prozess
- 11. Wie Linux-Prozess von Windows-Anwendung spawn?
- 12. Node Webkit - nicht in der Lage, einen Kind-Prozess zu verzweigen (Fehler: spawn EACCES)
- 13. Spawn interaktiver Prozess und beenden in NodeJS
- 14. Frida Spawn-Prozess fehlgeschlagen auf Android
- 15. Wie spawn neuer unabhängiger Prozess in Python
- 16. Node Spawn mit Sudo kann nicht verwenden IPC
- 17. Running Node (Express) auf Linux produziert Fehler: Spawn EACCES
- 18. Activiti: Check-Prozess konnte nicht Ended
- 19. Nodejs SOAP-Modul - Timout-Option
- 20. Erlang: OTP vs Spawn
- 21. Spawn Perl-Skript als ein Prozess mit bestimmten Namen
- 22. Rufen Sie nicht verwalteten Code aus verwalteten oder Spawn-Prozess
- 23. Spawn einen Prozess in Java, der eine JVM-Shutdown überlebt
- 24. Kompilierungsfehler „widersprüchliche Typen für‚Check‘“
- 25. Node-Render-Prozess beim Herunterladen von Dateien
- 26. Wie Kill-Knoten-Prozess beim Töten für immer Prozess
- 27. Unterschied zwischen spawn/1 und spawn/3
- 28. Fehler: spawn sh ENOENT Node.js
- 29. jQuery Timout-Funktion stört das Umschalten
- 30. Python Webriver Timout und versuchen/außer
Mögliches Duplikat http://stackoverflow.com/questions/18694684/spawn-and-kill-a-process-in-node-js – abdulbarik