Come trovare i processi collegati tramite socket di dominio unix?


2

Ho usato netstat per acquisire la colonna RefCnt. E ci sono 2 processi collegati tramite /var/run/mysqld/mysqld.sock. Come trovare i loro PID?

# netstat -a -p -A unix

Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
...
unix  2      [ ACC ]     STREAM     LISTENING     1432153  7517/mysqld         /var/run/mysqld/mysqld.sock
...

Risposte:


1

Penso che questa sia una domanda trabocchetto :)

Sotto la colonna PID / Nome programma c'è 7517 / mysqld . Il 7517 è il PID. È quello che stavi cercando?

Puoi anche fare un

ps -auxww | grep 7517

Solo per verificare

MODIFICARE:

È possibile utilizzare pgrep -P pidper ottenere i pid degli altri processi. Puoi usare questo breve script Bash per darti maggiori dettagli, sostituire "YOUR_PID" con il pid di netstat:

for x in `pgrep -P *YOUR_PID*`; do ps auxwww | grep $x; done


Sto cercando i processi che utilizzano questo socket. Secondo la colonna RefCnt (come ho già detto nella domanda originale) devono essere due pids, non uno, come hai suggerito. Non sto cercando il processo che apre socket, sto cercando tutto il processo che lo utilizza.
tengreencolors il

La risposta aggiornata ti dà quello che stai cercando?
sdproto,

1
No, ti sbagli completamente e non capisci affatto la mia domanda originale e il mio commento.
tengreencolors il

Sono abbastanza certo di capire cosa stai chiedendo. Quel PID di netstat è il PID padre dei processi collegati, prendilo e mettilo dopo pgrep -P e restituirà esattamente i pid di quei processi figlio / collegati. Se poi cerchi quei pids con ps puoi vedere i dettagli. Sono stato un amministratore di Unix-Network da oltre 35 anni.
sdproto,

grazie per la risposta dettagliata, mio ​​male, non ti ho capito bene sul pid genitore. Sfortunatamente, su Ubuntu 16.04, non funziona - non ci sono figli per il PID 7517. Ho provato a verificare altri processi conteggio figlio rispetto alla colonna RefCnt - non corrispondono (di solito processi conteggio figlio inferiore a RefCnt). Non sono sicuro che RefCnt sia il conteggio dei processi figlio che ha aperto il socket. E nel netstat (8) RefCnt è chiamato "Il conteggio dei riferimenti (cioè i processi collegati tramite questo socket)." - non sembra "riferimento" inteso come processo figlio.
tengreencolors il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.