[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Uccidere uno script e suo figlio



On Fri, Jun 21, 2002 at 07:16:12PM +0200, /dev/null wrote:
> On Fri, Jun 21, 2002 at 05:11:28PM +0200, M.Alberto wrote:
> > Ho fatto uno script per collegarmi automaticamente con ssh all'avvio
> > della macchina. E' molto semplice:
> > 
> > #! /bin/sh
> > while true; do
> >         ssh -l UTENTE -R 2222:localhost:22 URL;
> > done;
> > 
> > Mi server per abilitare il portforwarding, poiché sono nattato. Ho
> > creato un altro script che ho messo in /etc/init.d/ che avvia lo
> > script in questione.
> > Il problema è che quando uso il comando "stop" viene ucciso lo script
> > che avvia ssh, mentre il figlio ssh non muore, ma diventa figlio di
> > init.
> > Come posso fare per ucciderli tutti e due?
> Ci sono molti modi: quale sia il migliore dipende da come hai fatto
> lo script in /etc/init.d .
> Un buon modo per trovare i figli di un processo noto e`
> $ pgrep -P $PID_DEL_PROCESSO_PADRE
> Se e` una potato, che non ha pgrep e pkill, puoi arrangiarti con un
> $ ps -eo pid -o ppid | awk '$2 ~ /^'$PID_DEL_PADRE'$/{print $1}'
> (occhio alle virgolette, SINGOLE, mi raccomando!)
Grazie mille. Ecco come ho risolto.
  stop)
        echo -n "Stopping $DESC: "
        PPiD=`cat /var/run/$NAME.pid`
		PiD=`pgrep -P $PPiD`
		start-stop-daemon --stop --quiet -s 9 --pidfile /var/run/$NAME.pid && kill -9 $PiD
        echo "$NAME."
        ;;		
Mentre lo script per collegarmi è:
#! /bin/sh
while true; do
        ssh -l UTENTE -R X:localhost:Y HOST "while true; do echo keep-alive; sleep 60; done;" > /dev/null
done;

Ciao, Alberto.
-- 
Nei requisiti c'era scritto: Windows 95 o superiore -
Così ho installato Linux


-- 
To UNSUBSCRIBE, email to debian-italian-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: