Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: sekoto - Maggio 26, 2015, 10:33:25 pm

Titolo: verificare se un programma è attivo
Inserito da: sekoto - Maggio 26, 2015, 10:33:25 pm
Salve a tutti esiste un modo per verificare se un programma/processo è attivo?
Ovviamente sotto linux...
Grazie a tutti
Titolo: Re:verificare se un programma è attivo
Inserito da: bonmario - Maggio 27, 2015, 07:51:51 am
Quando è servito a me, l'unico modo che ho trovato è stato quello di analizzare l'output del comando di sistema "ps".
Forse però, adesso che ci penso, porebbe essere più semplice analizzare l'output del comando "pidof".

Ciao, Mario
Titolo: Re:verificare se un programma è attivo
Inserito da: Antonello - Maggio 27, 2015, 11:02:26 am
Se ti serve per impedire che il tuo programma
venga avviato più di una volta dai uno sguardo qui:
http://wiki.lazarus.freepascal.org/UniqueInstance
Titolo: Re:verificare se un programma è attivo
Inserito da: bonmario - Maggio 27, 2015, 11:33:05 am
Se ti serve per impedire che il tuo programma
venga avviato più di una volta dai uno sguardo qui:
http://wiki.lazarus.freepascal.org/UniqueInstance

Non so se è stato modificato nel frattempo, ma l'ultima volta che l'ho provato, aveva un difetto: per capire se un programma era in esecuzione o meno, usava un file civetta, che veniva ctreato all'avvio del programma e cancellato all'uscita.
Quindi se quel programma andava in crash, non lo potevi più lanciare, perché pensava che fosse ancora ine esecuzione.

Ciao, Mario
Titolo: Re:verificare se un programma è attivo
Inserito da: Antonello - Maggio 27, 2015, 11:42:49 am
Citazione
Non so se è stato modificato nel frattempo, ma l'ultima volta che l'ho provato, aveva un difetto: per capire se un programma era in esecuzione o meno, usava un file civetta, che veniva ctreato all'avvio del programma e cancellato all'uscita.
Quindi se quel programma andava in crash, non lo potevi più lanciare, perché pensava che fosse ancora ine esecuzione.

nella pagina wiki leggo:

17/04/11 - Version 1.0
Fix application being detected as running after a crash under unix

quindi presumo di si!
Titolo: Re:verificare se un programma è attivo
Inserito da: bonmario - Maggio 27, 2015, 11:45:44 am
Ottimo ... peccato che nel frattempo mi sono fatto la gestione da solo !!!!!

Ciao, Mario
Titolo: Re:verificare se un programma è attivo
Inserito da: sekoto - Maggio 27, 2015, 05:03:30 pm
Veramente dalla mia applicazione devo poter vedere se un altro programma è in esecuzione...
come funziona pidof?
Titolo: Re:verificare se un programma è attivo
Inserito da: bonmario - Maggio 27, 2015, 05:17:39 pm
Adesso sono al lavoro e non ho Linux sottomano. Prova, da terminale, a digitare
Codice: [Seleziona]
man pidof

A memoria comunque, se il programma non è in esecuzione, non dovresti avere nessun risultato, se è in esecuzione, dovrebbe restituirti una riga con il PID per ogni istanza del programma in esecuzione.

Ciao, Mario