Relancer un processus suspendu

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Relancer un processus suspendu

Message par ChaudEf »

Bonjour mes amis
Quelqu'un m'a montre le programme process explorer, qui a une option de "suspend" pour suspendre un processus qui est en train de tourner.

Or j'ai vu que certain programmes, notament google chrome, se remmetent en marche automatiquement apres la suspension.
Comment programmer une chose pareil? a priori, a 'instant qu'il est suspendu, il ne peut plus savoir ce qui se passe avec lui, et donc ne peux plus se rallummer!!

Merci
Windows 10 x64 -- Purebasic 5.70 LTS x86
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Relancer un processus suspendu

Message par GallyHC »

Bonjour,

Je regarde cela pour un de mes programmes (contrôle de lumière de spectacle), ma conclusion est qu'il y a au moins 2 process du programme l'un et celui que l'utilisateur utilises et l'autres un process clone (invisible et même juste programme qui rassemble juste les infos de utilisateur du programme principal) qui fait la même chose vu que le process utilisateur lui donne toutes les informations qu'il ce passe par lui. Donc si le process principal plante ou qu'il est suspendu le programme clone prend le relai ou il renvois le programme avec toutes les informations qu'il a eu.

Maintenant a toi de faire ^^.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: Relancer un processus suspendu

Message par Marc56 »

Rien de magique dans un système d'exploitation, il suffit de créer une tâche qui relancera le programme.

Planificateur de tâches > Propriétés > Onglets Conditions et Paramètres

Certains programmes utilisent aussi un service qui se charge aussi de surveiller la présence du programme.
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Relancer un processus suspendu

Message par ChaudEf »

Merci.
Je pense que je vais me pencher sur le service pour relancer le programme.

Quel est la commande pour cela ?
Y a-t-il une API qui fait ca ? (Windows)
Windows 10 x64 -- Purebasic 5.70 LTS x86
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: Relancer un processus suspendu

Message par Marc56 »

Un service est un programme qui tourne en arrière plan, sans interaction avec l'utilisateur au premier plan.

Il faut le programmer d'une certaine façon et l'installer aussi d'une manière particulière

Un exemple en PB sur developpez.com
http://f-lefevre.developpez.com/tutorie ... e-windows/

Cela date de 2008, je ne sais pas si cela fonctionne encore (je n'ai pas essayé)
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Relancer un processus suspendu

Message par ChaudEf »

Merci j'ai déjà fait des services en PB.
Ma question est quel est la commande pour relancer le processus suspendu

edit: J'ai trouve mon bonheur sur le forum anglais : http://www.purebasic.fr/english/viewtop ... 7&p=437158


Je pensais pouvoir faire ca directement depuis le programme, qu'il ne puisse pas etre suspendu, comme explique ici: https://www.eldos.com/cbproc/articles/8989.php, mais je crois que ca va etre plus simple de mettre en place un service.


Ce que je me demande maintenant est comment mon service saura quand le programme a ete suspendu? y a-t-il un moyen de verifier ca?


Merci encore
Windows 10 x64 -- Purebasic 5.70 LTS x86
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: Relancer un processus suspendu

Message par Marc56 »

comment mon service saura quand le programme a ete suspendu? y a-t-il un moyen de verifier ca?
tasklist

Exemple:

Code : Tout sélectionner

C:\>tasklist | findstr chrome
chrome.exe                   28316 Console                    1   113 092 Ko
chrome.exe                   28776 Console                    1    11 820 Ko
chrome.exe                   21796 Console                    1    12 588 Ko
chrome.exe                   30188 Console                    1    61 196 Ko
chrome.exe                    1100 Console                    1    66 248 Ko
chrome.exe                    9228 Console                    1    58 808 Ko
RunProgram() et analyser la sortie (console ou via un fichier texte)
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Relancer un processus suspendu

Message par ChaudEf »

Merci.
J'ai essye dans la cmd

Code : Tout sélectionner

tasklist /FI "STATUS eq SUSPENDED" /FI "PID eq 8608" /V
avec le processus allume et ensuite avec le processus suspendu, ca me donne toujours le meme resultat.

J'ai mal ecrit la commande?
Windows 10 x64 -- Purebasic 5.70 LTS x86
Avatar de l’utilisateur
celtic88
Messages : 309
Inscription : sam. 12/sept./2015 14:31
Localisation : Alger

Re: Relancer un processus suspendu

Message par celtic88 »

:twisted:

tu peux utiliser les hook ,je sais c'est un peu illégale mais Seulement pour les bonnes intentions et surtout pour la protection de notre programme contre le debug et hack

https://www.youtube.com/watch?v=omXTwK0lYgs
.....i Love Pb :)
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Relancer un processus suspendu

Message par ChaudEf »

C'est chouette ca..
Tu partage le code ?

Merci beaucoup
Windows 10 x64 -- Purebasic 5.70 LTS x86
Répondre