Newsgroup: it.comp.os.linux.development
Titolo: identificazione pid di un processo attivato

Ciao,
vorrei sapere come posso ottenere il risultato di identificare il pid
dell'ultimo processo che ho lanciato.
Il tutto tramite uno script (non fa molta differenza ma contestualizzo lo
stesso).
In pratica dovrei fare qualcosa del tipo:
<<<<<<<<<<<<<<<<< inizio pseudo script >>>>>>>>>>>>>>>>>>
#!/bin/bash
pine
pine_pid=gli assegno il suo pid
all'uscita di pine il controllo lo riprende lo script e via...
<<<<<<<<<<<<<<<<<<fine pseudo script >>>>>>>>>>>>>>>>>>>
grazie in anticipo,
alexio


I'm not prejudiced, I hate everyone equally.


Anche qui come sopra.
Forse senza -ax potrebbe andare meglio, ma non so se basta.
Alessandro.


pine &
pine_pid=$!
fg (oppure wait ${pine_pid}, meglio fg: esercizio per il lettore)
Ciao,
-- 
       Roberto Divia`             Love at first sight is one of the greatest
       =============             labour-saving devices the world has ever seen.
Mailbox: C02110                 CERN-European Organization for Nuclear Research
E-mail: 
Robert...@cern.ch
           CH-1211 GENEVE 23, Switzerland

 fg (oppure wait ${pine_pid}, meglio fg: esercizio per il lettore)
grazie č una buona soluzione, ora ho soltanto un problemino: quando in uno
script lancio il processo in background in realtą lui me lo esegue in primo
piano e poi lo killa...
il codice che sto usando č del tipo:
pine&
pine_id=$!
wait
ho provato anche la variante da te suggerita (sia con il fg che con il
wait), ma niente...
il processo viene lanciato e subito dopo killato...
suggerimenti?
alexio

 dell'ultimo processo che ho lanciato.
se l'hai lanciato in background puoi usare la variabile $!
-- 
addio, e grazie per tutto il pesce

il modo migliore per farlo.
anche io (insieme ad un amico) abbiamo fatto la stessa cosa (ricerca
su /proc della dir /proc/pid in un programma C), ma non sono sicuro
che funzioni anche su macchine non Linux, perchč su "man proc" viene
indicato alla fine che funziona su Linux mentre su Modern Operating
System 2ed, dice che il proc file system č implementato in 4.4BSD e
system V.  
C'č un modo "standard"  per vedere se un processo, dato il pid, č
ancora in vita ?
Grazie.


Usare ps?
Alessandro.

 suggerimenti?
Trova chi lo killa e perche`...
Il sistema in se funziona. Dimostrazione:
$ sleep 10 &
[1] 22917
$ pid=$!
$ echo $pid
22917
$ fg
sleep 10
$
Devi trovare come mai "pine&" viene killato...


il problema č che anche a me funziona se lo faccio ad shell, č nello script
che non parte.
credo sia qualche problema relativo al fatto che il pine (come qualunque
altro programma simile) che richiede un input da tastiera e questo dovrebbe
dare qualche problema...cioč credo ci siano delle problematiche piů o meno
risolvbili fra shell script e lancio di programmi che hanno output o
richiedono input interattivamente...
devo scoprirlo....
alexio

 devo scoprirlo....
per i processi lanciati in bg la shell redirige stdin su /dev/null
-- 
#eno

 per i processi lanciati in bg la shell redirige stdin su /dev/null
assolutamente no. Lo devi fare tu esplicitamente. Almeno, su Solaris č 
cosě
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!