Eseguire programmi e App di Windows 10 come servizi
Avviare un App di Windows 10 come servizio ti darà la possibilità di eseguire un programma, o un file batch, senza richiedere l’intervento dell’utente all’avvio del sistema operativo. Avviando il sistema operativo avrai la certezza che anche il tuo programma verrà eseguito in fase di avvio di Windows 10 insieme a tutti gli altri processi di Windows. In questo modo sarà Windows a gestirne l’intero processo di esecuzione del programma sin dal caricamento del sistema operativo.
Indice del Post...
1. Perché avviare un App di Windows 10 come servizio
Windows 10 offre molti modi per eseguire programmi all’avvio del sistema operativo. Ad esempio, in uno dei sistemi più utilizzati, basta trascinare il programma da eseguire, o il suo collegamento, all’interno di questa cartella:
c:\users\tuoUserName\AppData\Roaming\Microsoft\Windows\start Menu\Programs\startup
Il programma verrà eseguito al login dell’utente indicato nel percorso. Fino a quando l’utente non effettuerà la connessione al sistema il programma non verrà mai avviato. È necessario in questo caso che ci sia l’interazione dell’utente per avviare il software. Invece, l’esecuzione di un programma o un App di Windows 10 come servizio è indipendente dalla connessione degli utenti al sistema operativo. Inoltre, potrai eseguire il tuo programma sempre con privilegi elevati e parallelamente a tanti altri processi avendo il minimo impatto sulle prestazioni generali di Windows.
Quindi lascia che sia Windows a gestire le risorse e l’esecuzione del tuo programma, o della tua App, all’avvio del computer indipendentemente dal fatto che qualcuno si connetta al sistema operativo.
Un file eseguibile non può essere gestito direttamente come servizio di Windows è necessaria una piccola operazione effettuata sfruttando uno strumento gratuito noto come NSSM. Windows 10 ha già altre utility preinstallate, sempre a riga di comando, che possono creare servizi, da App o programmi, ma con grosse limitazioni. NSSM, invece, trasformerà il tuo programma in un vero e proprio servizio di Windows gestendone tutte le fasi, cioè, dall’avvio del servizio, all’arresto e alla pausa. Senza trascurarne il processo di ripristino e riavvio del servizio in seguito a crash momentanei di sistema.
LEGGI ANCHE: Velocizzare Windows 10 con due comandi sconosciuti
2. Scarica e installa NSSM
NSSM è uno strumento gratuito, a riga di comando, con cui è possibile creare servizi Windows da programma eseguibile. Insomma, un vero e proprio gestore di servizi di Windows. L’ultima release di NSSM presenta anche un’interfaccia grafica, ma tramite l’utility a riga di comando, potrai creare e avviare App e programmi Windows velocemente digitando pochissime righe di codice.
Ma vediamo, con un semplice esempio, come effettuare questa piccola magia. Innanzitutto è necessario scaricare NSSM. Per farlo non devi fare altro che recarti sulla homepage del tool e cliccare sul link Download. È preferibile scaricare e utilizzare sempre la versione stabile di NSSM, avrai così la certezza che eventuali bug, presenti quasi sempre negli ultimi rilasci di un software, non pregiudichino l’eccezionale lavoro svolto da NSSM.
Estrai il contenuto dal file compresso appena scaricato è noterai che all’interno del file compresso ci sono due cartelle: win64 e win32. All’interno di ognuna di esse c’è la versione di NSSM.exe a 32 bit e a 64 bit. Ora, non ti resta che copiare e incollare il file nssm.exe, contenuto all’interno della cartella Win64, nella cartella c:\windows\system32. Allo stesso modo, devi copiare e incollare il file nssm.exe, contenuto all’interno della cartella Win32, nella cartella c:\windows\SysWow64. Se hai notato bene ti ho detto di copiare il file nssm.exe a 32 bit nella cartella SysWOW64, e quello a 64 bit nella cartella System32. Questo in realtà non è un errore, Windows usa queste due cartelle per garantire l’esecuzione di programmi a 64 bit e a 32 bit su un sistema operativo a 64 bit. Se sei interessato ad approfondire questo argomento puoi consultare questa guida.
Comunque, dopo aver copiato il file nssm.exe, nelle relative cartelle di sistema di Windows, puoi utilizzare l’utility a riga di comando di NSSM che, da questo momento, è pronta per ricevere i comandi necessari per creare i servizi Windows necessari per avviare i tuoi programmi all’avvio del sistema operativo.
3. Crea e avvia il tuo primo servizio Windows con NSSM
Come ho anticipato nei paragrafi precedenti, NSSM, è una utility che si presta molto bene all’utilizzo tramite riga di comando. Quindi il Prompt dei comandi o la console di Windows è l’ambiente di lavoro ideale per creare il tuo primo servizio e avviare la tua App Windows 10 in background e senza la necessità di far interagire l’utente con il sistema operativo.
Adesso, la prima operazione da compiere è, digitare il comando CMD, cliccare sulla voce prompt dei comandi e successivamente su Esegui come amministratore.
A questo punto, le operazioni necessarie sono due, il tuo servizio va prima installato e poi avviato. Per compiere queste due operazioni ci sono due opzioni diverse da passare a NSSM.exe attraverso due righe di codice digitate direttamente all’interno del prompt dei comandi. Prima di installare il tuo primo servizio di Windows, recupera un eventuale file eseguibile, o anche un file batch, che esegua delle semplici operazioni. Se non riesci a recuperarne uno, ti passo del codice da copiare e incollare in un file batch da passare successivamente a NSSM.
Ad esempio, una delle istruzioni più semplice da eseguire è scrivere in file1.txt la data e l’ora corrente. Quindi, crea in c:\ il file MioServizio.bat con questo codice al suo interno.
echo %date% %time% > c:\file1.txt
Ok, ora che hai il tuo programma da eseguire come servizio, non ti resta che creare e installare il servizio con NSSM. Per compiere questa operazione digita questo codice all’interno del prompt dei comandi e premi il tasto invio.
nssm install NomeServizio C:\MioServizio.bat
Beh, questo è tutto il tuo servizio “NomeServizio” è stato correttamente creato e installato ma non è stato ancora avviato. Per fare questa operazione digita anche questo comando da prompt dei comandi.
nssm start NomeServizio
Il tuo servizio adesso è avviato e il codice contenuto all’interno del file MioServizio.bat eseguito costantemente. Puoi verificare il contenuto del file file1.txt per capire se il servizio sta lavorando correttamente. NomeServizio come ogni servizio di Windows una volta avviato può essere fermato o messo in pausa con questi due comandi:
nssm stop NomeServizio
nssm pause NomeServizio
dopo l’esecuzione di uno di questi due comandi puoi riavviare il servizio digitando:
nssm restart NomeServizio
ad ogni modo, NSSM, ha un insieme nutrito di comandi utili per effettuare qualsiasi operazione con un servizio. Questi comandi sono elencati a questo indirizzo web, Dando un’occhiata a questa pagina avrai modo di fare pratica e capire come passare, ad esempio, parametri a MioServizio.bat e personalizzare ulteriormente il servizio creato.
LEGGI ANCHE: 2 comandi fantastici per ripristinare Windows 10 da prompt dei comandi.