10 aprile, 2007

Pid di un processo a cui appartiene un socket

Come si fa a conoscere il pid di un processo sapendo che è in ascolto su un determinato numero di porta?

Si usa il comando fuser!

Ad esempio supponiamo che sul nostro sistema sia in esecuzione un processo che apre un socket sulla porta 80 (apache ad esempio): per conoscere il pid del processo si può procedere con il comando fuser come segue:

$ fuser -n tcp 80

Questo comando stamperà qualcosa di simile a:

80/tcp: 15136 15140 15141 15142 15143 15144

I numeri che si trovano a destra dei due punti sono tutti pid dei processi facenti uso della porta 80. (in questo caso ne abbiamo più di uno perché apache duplica se stesso quando viene avviato)

Se si tratta di un socket udp è necessario specificarlo al posto di tcp.

N.B. Se il processo appartiene all'utente root è necessario invocare il comando fuser con i privilegi di amministratore e quindi preponendo sudo

Nessun commento:

Posta un commento