non so di che tasti tu stia parlando. ma fondamentalmente accade questo:
- avvii il tuo script php che esegue il tuo nomescript.sh
- l'esecuzione dello script continua
quando richiami lo script per la seconda volta, premendo un tasto(?), esegui lo stesso script che non ha alcun riferimento rispetto al precedente. Normale quindi che non abbia quella variabile valorizzata.
Aggiungo inoltre come da manuale php
quindi exec ti serve per eseguire programmi non per recuperare il pid dell'operazione. L'unico caso in cui questo potrebbe avvenire è che tu, dallo script che esegui, stampi a video, e solo quello, appunto il pid.exec() esegue il comando passato da command, la funzione non invia nessun output. Restituisce semplicemente l'ultima linea dal risultato del comando. Se si ha bisogno di eseguire un comando ed avere tutti i dati passati direttamente indietro senza alcuna interferenza, usare la funzione passthru().
Ciò non toglie che, lo script lanciato la prima volta termina e di conseguenza per usare il pid devi necessariamente passarlo in un altro modo(Sessioni o in GET)