Perché lsof mostra lo stesso descrittore di file per processi diversi?

2
lsof -i :80
COMMAND     PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
gnome-pan 28597 murat   18u  IPv4 2907888      0t0  TCP ....
gnome-pan 28597 murat   19u  IPv4 2907903      0t0  TCP ....
dropbox   28624 murat   18u  IPv4 2755213      0t0  TCP ...

Quando elenco i file aperti con l'opzione -i ho scoperto che alcuni processi hanno lo stesso valore fd's.Per esempio l'output sopra, 28597 e 28624 pid hanno lo stesso valore di fd. Ciò significa che questi processi possono raggiungere lo stesso spazio di memoria. la ragione di questo? Come possono raggiungere la stessa area e perché? Inoltre, qual è il significato di te (18u)? Alcuni fd sono finiti con w.

    
posta myildirim 03.07.2012 - 09:52

2 risposte

3
  

Ciò significa che questi processi possono raggiungere lo stesso spazio di memoria.

Perché vorrebbe raggiungere uno spazio di memoria comune? La risposta è semplice: parlarci!

Nel tuo caso, dropbox sta parlando con gnome-panel , che fornisce l'icona di stato di Dropbox.

Il manuale libc ha questo dire:

  

L'uso principale della duplicazione di un descrittore di file consiste nell'implementare reindirizzamento di input o output: ovvero, per modificare il file o il pipe a cui corrisponde un determinato descrittore di file.

Il flag u significa semplicemente che l'FD è in lettura-scrittura; w significa solo scrittura, r significa sola lettura.

    
risposta data ish 03.07.2012 - 10:10
2

I descrittori di file sono definiti in uno spazio dei nomi per processo. Non sono unici per l'intero sistema. I due processi mostrati non accedono allo stesso file evidenziato dalla colonna DEVICE che, in questo caso, probabilmente mostra il nome del dispositivo del tuo socket TCP.

    
risposta data onlyanegg 11.10.2016 - 03:40

Leggi altre domande sui tag