lsof vs netstat vs ps

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Nov 1 13:29:05 EET 2002


On 2002-10-31 17:39, Alexandros Papadopoulos <apapadop at cmu.edu> wrote:
>
> Μια ερώτηση σχετικά με τα προγράμματα lsof, netstat, ps.
>
> Γιατί δεν λένε την ίδια ιστορία; Διάβασα posts που λένε ότι αυτό
> οφείλεται σε διαφορετικές πηγές πληροφόρησης (το ένα διαβάζει το
> /proc, το άλλο ρωτάει απευθείας τον πυρήνα ή κάτι παρόμοιο). Τελικά
> υπάρχει τρόπος να μάθει κανείς ΤΙ τρέχει και τι _δεν_ τρέχει;

Την λένε την ίδια ιστορία.  Απλά θέλει προσοχή στις παραμέτρους, και
προσοχή στο πως θα "διαβάσεις" την έξοδο.  Πάντα υπάρχει η πιθανότητα
μεταξύ δυο διαδοχικών εκτελέσεων εντολής (ακόμα κι αν είναι η ίδια
ακριβώς εντολή) να είναι διαφορετική η έξοδος, αφού διεργασίες
έρχονται και φεύγουν συνεχώς.

> Παράδειγμα:
> 
> [root at localhost ~]# /usr/sbin/lsof -i
> COMMAND    PID    USER   FD   TYPE DEVICE SIZE NODE NAME
> privoxy    579 privoxy    3u  IPv4   1758       TCP localhost.localdomain:6969 (LISTEN)
> privoxy   1204 privoxy    3u  IPv4   1758       TCP localhost.localdomain:6969 (LISTEN)
> dhclient 23586    root    5u  IPv4 437409       UDP *:bootpc
> dhclient 23608    root    6u  IPv4 437289       UDP *:bootpc

> [root at localhost ~]# netstat -ap | head
> Active Internet connections (servers and established)
> Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
> tcp        0      0 localhost.localdom:6969 *:*                     LISTEN      579/privoxy
> udp        0      0 *:bootpc                *:*                                 23586/dhclient
> udp        0      0 *:bootpc                *:*                                 23608/dhclient
> Active UNIX domain sockets (servers and established)

Η διεργασία 1204 ψόφησε.

> [root at localhost ~]# ps aux | grep 1204
> root     23959  0.0  0.1  3484  628 pts/1    S    17:37   0:00 grep 1204
> [root at localhost ~]#

Όπως φάνηκε από παραπάνω, το process 1024 έχει ψοφήσει, οπότε με την
ps(1) δε μπορείς να το βρεις.  Είναι λογικό.

> PS: Sorry για το wrapping.

Συγχωρεμένος, αλλά...
Μην κάνεις wrap την έξοδο από εντολές.

Γιώργος.



More information about the Linux-greek-users mailing list