API : Processus
Fonctions pour rechercher, surveiller et gérer les processus Windows.
Enregistrement C++ : regManager(js) et regProcesses(js).
proc_find
proc_find(name: string) → object
Recherche un ou plusieurs processus par nom de fichier .exe (insensible à la casse).
Si plusieurs instances sont en cours d'exécution — retourne tous les PID.
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
name |
string | Nom du fichier processus, par ex. "notepad.exe" |
Résultat :
| Champ | Type | Description |
|---|---|---|
found |
bool | true — au moins une instance trouvée |
pid |
number | PID du premier processus trouvé (0 si non trouvé) |
pids |
number[] | Tableau de tous les PID portant ce nom |
error |
string | Message d'erreur ou "" |
Exemple :
let f = proc_find("notepad.exe");
if (!f.found) {
console.log("Processus non trouvé");
} else {
console.log("Premier PID :", f.pid);
if (f.pids.length > 1) {
console.log("Instances multiples :", JSON.stringify(f.pids));
}
}
proc_cpu
proc_cpu(pid: number) → object
Utilisation du CPU par le processus en pourcentage.
Note : La fonction effectue deux mesures avec une pause de 200 ms — l'exécution est bloquée pendant ce temps.
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
pid |
number | PID du processus |
Résultat :
| Champ | Type | Description |
|---|---|---|
cpu |
number | Pourcentage CPU (−1 en cas d'erreur) |
error |
string | Message d'erreur ou "" |
Exemple :
let r = proc_cpu(1234);
if (r.error) {
console.log("Erreur :", r.error);
} else {
console.log("CPU :", r.cpu.toFixed(1) + "%");
}
proc_ram
proc_ram(pid: number) → object
Consommation mémoire (Working Set).
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
pid |
number | PID du processus |
Résultat :
| Champ | Type | Description |
|---|---|---|
ram_mb |
number | Mémoire en Mo (−1 en cas d'erreur) |
ram_bytes |
number | Mémoire en octets |
error |
string | Message d'erreur ou "" |
Exemple :
let r = proc_ram(1234);
console.log("RAM :", r.ram_mb.toFixed(1), "Mo");
console.log("RAM (octets) :", r.ram_bytes);
proc_alive
proc_alive(pid: number) → object
Vérifie si le processus est actif et répond aux messages.
Comportement :
- Processus GUI (avec fenêtre visible) : vérifié via
SendMessageTimeoutavec un délai d'attente de 1 seconde. - Processus en arrière-plan (sans fenêtre) :
responding = alive.
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
pid |
number | PID du processus |
Résultat :
| Champ | Type | Description |
|---|---|---|
alive |
bool | true — le processus existe et n'a pas quitté |
responding |
bool | true — le processus répond aux messages |
error |
string | Message d'erreur ou "" |
Exemple :
let r = proc_alive(1234);
console.log("Actif :", r.alive);
console.log("Répond :", r.responding);
if (r.alive && !r.responding) {
console.log("Le processus est bloqué !");
}
proc_service
proc_service(pid: number) → object
Vérifie si le processus appartient à un service Windows.
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
pid |
number | PID du processus |
Résultat :
| Champ | Type | Description |
|---|---|---|
is_service |
bool | true — le processus est un service Windows |
service_name |
string | Nom du service ou "" |
error |
string | Message d'erreur ou "" |
Exemple :
let r = proc_service(1234);
if (r.is_service) {
console.log("Service :", r.service_name);
}
proc_kill
proc_kill(pid: number) → object
Termine de force un processus (TerminateProcess).
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
pid |
number | PID du processus |
Résultat :
| Champ | Type | Description |
|---|---|---|
ok |
bool | true — processus terminé |
error |
string | Message d'erreur ou "" |
Exemple :
let r = proc_kill(1234);
if (r.ok) {
console.log("Processus terminé");
} else {
console.log("Erreur :", r.error);
}
proc_run
proc_run(path: string, args?: string) → object
Démarre un nouveau processus (CreateProcess).
Paramètres :
| Paramètre | Type | Description |
|---|---|---|
path |
string | Chemin complet vers le fichier .exe |
args |
string | (optionnel) Arguments de ligne de commande |
Résultat :
| Champ | Type | Description |
|---|---|---|
ok |
bool | true — processus démarré |
pid |
number | PID du nouveau processus (0 en cas d'erreur) |
error |
string | Message d'erreur ou "" |
Exemples :
// Sans arguments
let r = proc_run("C:\\Windows\\notepad.exe");
console.log("PID :", r.pid);
// Avec arguments
let r2 = proc_run("C:\\tools\\app.exe", "--config app.json --verbose");
if (r2.ok) {
console.log("Démarré, PID :", r2.pid);
} else {
console.log("Erreur :", r2.error);
}
Exemple complet : surveillance d'un processus unique
let name = "myapp.exe";
// 1. Rechercher le processus
let f = proc_find(name);
if (!f.found) {
console.log("[WARN] Processus non trouvé :", name);
} else {
let pid = f.pid;
// 2. Collecter les métriques
let cpu = proc_cpu(pid); // bloque pendant 200 ms
let ram = proc_ram(pid);
let live = proc_alive(pid);
let svc = proc_service(pid);
console.log("PID :", pid);
console.log("CPU :", cpu.cpu.toFixed(1) + "%");
console.log("RAM :", ram.ram_mb.toFixed(1) + " Mo");
console.log("Actif :", live.alive, "| Répond :", live.responding);
if (svc.is_service) {
console.log("Service :", svc.service_name);
}
}