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