Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: parent process

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    47

    parent process

    Sapete dirmi che parametro devo usare con ps per capire il padre di un processo?

  2. #2
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367
    pstree
    I've got a bike. You can ride it if you like.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    47
    si ok, però devo usare ps per uno script in bash

  4. #4
    ps -ef. ti mete il PID e il PPID (processo padre) del processo.
    A forza di seguire la corrente si finisce in qualche fogna
    -- M.Connelly

    http://www.syn-ack.it

  5. #5
    ma poi come faccio a estrapolare il ppid?scusa la domanda stupida ma so veramente poco di linux...

  6. #6

    re

    prova con questo :
    ps -ef|grep 'processo che ti interessa'|grep -v grep|awk '{print $3}'

    ps : per i processi attivi
    grep : (in questo caso) per selezionare il processo che ti interessa
    awk : (per tantissime cose) ma per qui solo per il PPID

    ...tutto è semplice.... se l'ha già fatto qualcun altro prima, quindi sforzati ad imparare almeno!

  7. #7
    vediamo se ho capito...
    ps -ef mi cerca i processi
    grep $1 cerca quello che voglio io
    grep -v grep elimina la riga della ricerca del grep
    awk'{print $3}' mi ritorna il valore di quella colonna

    una cosa non capisco...come mai mi ritornano più valori?non dovrei averne solo uno??
    inoltre, se volessi trovare a ritroso tutti i processi padre fino a init, come posso fare???Praticamente vorrei creare un albero dei processi a partire da quello scelto da me(e senza usare pstree...)

    il mio pensiero semplicistico...(necessita di aggiustamenti che non riesco a pensare da solo in questo momento..)

    while [pid!=1]
    do
    pid= pid del mio processo
    echo $pid
    pid= padre di pid
    done

  8. #8

    re

    una cosa non capisco...come mai mi ritornano più valori?non dovrei averne solo uno??

    sono i valori del padre e del figlio e dello spirito santo....
    sostituisci in awk $3 con $2 ' ' $3

    ma perchè ti ostini a non voler usare un comodo comando come pstree?
    dunque :
    ps -ef|grep 'processo che ti interessa'|grep -v grep|awk '{print $3}' |pstree dovrebbe funzionare
    altrimenti metti tutto dentro in un ciclo e con un piccolo sforzo arrivi alla tua soluzione.

    ...tutto è semplice.... se l'ha già fatto qualcun altro prima, quindi sforzati ad imparare almeno!

  9. #9
    scusa se rompo ma non mi va di lasciare le cose a metà...
    ho trovato questo script che dovrebbe tornarmi il pid del mio processo

    A=`ps ax | grep -e $1 | grep -v grep` ;
    if [ "$A" == "" ]
    then
    echo "no such a process" ;
    exit 1 ;
    fi
    K=1
    for ITEM in $A ;
    do
    if [ $K = 1 ]
    then echo $ITEM ;
    fi
    K=`expr $K + 1` ;
    done
    exit 0

    non capisco perchè lo fa così complicato..
    però trovo un solo pid.
    Con il tuo metodo non riesco a capire perchè ne trovo di più?non dovrei averne solo 1??
    Poi un'altra cosa..
    siccome voglio formattare a mio piacimento l'albero che risulterà alla fine, mi sembra comodo usare un ciclo while.
    come faccio però a trovare il pid padre dal pid figlio?
    mi basta una cosa del genere??

    `ps -ef | grep pid_figlio | grep -v grep | awk '{print $2}'`

    o è meglio usare quella che mi hai dato tu

    `ps -ef | grep $1 | grep -v grep | awk '{print $3}'`

    te lo chiedo sempre e solo perchè non ho capito se mi ritorna uno o più risultati...

    per intenderci comunque, io vorrei alla fine una cosa del genere:
    mio_comando -> suo_padre -> padre_del_padre -> ... -> init

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    47
    superpaul82 ti saluta d'angelo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.