---
created_at: '2016-08-26T03:22:08.000Z'
title: 'A Unix Utility to Know About: lsof (2009)'
url: http://www.catonmat.net/blog/unix-utilities-lsof/
author: kercker
points: 149
story_text: 
comment_text: 
num_comments: 53
story_id: 
story_title: 
story_url: 
parent_id: 
created_at_i: 1472181728
_tags:
- story
- author_kercker
- story_12364077
objectID: '12364077'

---
[Source](http://www.catonmat.net/blog/unix-utilities-lsof/ "Permalink to A Unix Utility You Should Know About: lsof - good coders code, great coders reuse")

# A Unix Utility You Should Know About: lsof - good coders code, great coders reuse

* [Home][1]
* [Books][2]
* [Projects][3]
* [Sitemap][4]
* [Feedback][5]
* [About Me][6]
* [Consulting][7]
* [Advertising][8]

[ ![good coders code, great coders reuse][9] ][10]

| ----- |
| 

Any inaccuracies in this index may be explained by the fact that it has been sorted with the help of a computer.

Donald Knuth

 | 

[I am doing a startup!][11]

![Browserling][12]

Cross-browser testing from your browser!

[I have written my fourth book!][13]

![Perl Book][14]

Be faster than Larry Wall in the shell!

![][15][Follow me on Twitter][16] for my latest adventures!

[Unix Shell][17] [**22** Comments][18] December 23, 2009

# [A Unix Utility You Should Know About: lsof][19]

This article is part of the article series "[Unix Utilities You Should Know About][20]." 

<[\- previous article][21] 1\. A Unix Utility You Should Know About: Pipe Viewer 2\. A Unix Utility You Should Know About: Netcat 3\. A Unix Utility You Should Know About: lsof next article ->

![Unix Utilities][22]

This is the third post in the article series about Unix and Linux utilities that you should know about. In this post I will take you through the useful **lsof** tool. If [netcat][23] was called the Swiss Army Knife of Network Connections, then I'd call lsof the **Swiss Army Knife of Unix debugging**.

Lsof follows Unix philosophy closely. It does just one task and it does it perfectly -- it lists information about files opened by processes. An open file may be a regular file, a directory, a NFS file, a block special file, a character special file, a shared library, a regular pipe, a named pipe, a symbolic link, a socket stream, an Internet socket, a UNIX domain socket, and many others. Since almost everything in Unix is a file, you can imagine how incredibly useful lsof is!

See the first post on [pipe viewer][24] for the introduction to this article series. If you are interested in articles like this one, I suggest that you subscribe to [my rss feed][25] to receive my future posts automatically!

## How to use lsof?

In this article I will try to present lsof based on as many use cases as I can think of. Let's start with the simplest (that you probably already know) and proceed to more complicated ones.

## List all open files.
    
    
    # lsof
    

Running `lsof` without any arguments lists all open files by all processes. 

## Find who's using a file.
    
    
    # lsof /path/to/file
    

With an argument of a path to a file, lsof lists all the processes, which are using the file in some way.

You may also specify several files, which lists all the processes, which are using all the files:
    
    
    # lsof /path/to/file1 /path/to/file2
    

## Find all open files in a directory recursively.
    
    
    # lsof +D /usr/lib
    

With the `+D` argument lsof finds all files in the specified directory and all the subdirectories.

Note that it's slower than the usual version with `grep`:
    
    
    # lsof | grep '/usr/lib'
    

It's slower because `+D` first finds all the files and only then does the output.

## List all open files by a user.
    
    
    # lsof -u pkrumins
    

The `-u` option (think **u**ser) limits output of files opened only by user **pkrumins**.

You can use comma separated list of values to list files open by several users:
    
    
    # lsof -u rms,root
    

This will list all the files that are open by users **rms** and **root**.

Another way to do the same is by using the `-u` option twice:
    
    
    # lsof -u rms -u root
    

## Find all open files by program's name.
    
    
    # lsof -c apache
    

The `-c` option selects the listing of files for processes whose name begins with **apache**.

So instead of writing:
    
    
    # lsof | grep foo
    

You can now write the shorter version:
    
    
    # lsof -c foo
    

In fact, you can specify just the beginning part of the process name you're looking for:
    
    
    # lsof -c apa
    

This will list all the open files by a processes whose starts with **apa**.

You can also specify several `-c` options to output open files by several processes:
    
    
    # lsof -c apache -c python
    

This will list all open files by **apache** and **python**.

## List all open files by a user OR process.
    
    
    # lsof -u pkrumins -c apache
    

Lsof options can be combined. The default is to OR between options. It means it will combine outputs of `-u pkrumins` and `-c apache` producing a listing of all open files by **pkrumins** and all open files by **apache**.

## List all open files by a user AND process.
    
    
    # lsof -a -u pkrumins -c bash
    

Notice the `-a` option. It combines the options with AND. The output listing is files opened by **bash**, which is run under **pkrumins** user.

## List all open files by all users EXCEPT root.
    
    
    # lsof -u ^root
    

Notice the `^` character before **root** username. It negates the match and causes lsof print all open files by all users who are not root.

## List all open files by the process with PID.
    
    
    # lsof -p 1
    

The `-p` option (think **P**ID) filters out open files by program's id.

Remember that you can select multiple PIDs by either comma separating the list or using multiple `-p` arguments:
    
    
    # lsof -p 450,980,333
    

This selects processes with PIDs 450, 980 and 333.

## List all open files by all the processes EXCEPT process with PID.
    
    
    # lsof -p ^1
    

Here the negation operator `^` is used again. It inverts the list and does not include process with PID 1.

## List all network connections.
    
    
    # lsof -i
    

Lsof with `-i` option lists all processes with open Internet sockets (TCP and UDP).

## List all TCP network connections.
    
    
    # lsof -i tcp
    

The `-i` argument can take several options, one of them is `tcp`. The `tcp` option forces lsof to list only processes with TCP sockets.

## List all UDP network connections.
    
    
    # lsof -i udp
    

The `udp` option causes lsof to list processes with UDP sockets.

## Find who's using a port.
    
    
    # lsof -i :25
    

The `:25` option to `-i` makes lsof find processes using TCP or UDP port 25.

You may also use service port name (found in `/etc/services`) rather than port number:
    
    
    # lsof -i :smtp
    

## Find who's using a specific UDP port.
    
    
    # lsof -i udp:53
    

Similarly, to find who's using a TCP port, use:
    
    
    # lsof -i tcp:80
    

## Find all network activity by user.
    
    
    # lsof -a -u hacker -i
    

Here the `-a` option combines `-u` and `-i` to produce listing of network file usage by user **hacker**.

## List all NFS (Network File System) files.
    
    
    # lsof -N
    

This option is easy to remember because `-N` is **N**FS.

## List all Unix domain socket files.
    
    
    # lsof -U
    

This option is also easy to remember because `-U` is **U**nix.

## List all files for processes with a specific group id.
    
    
    # lsof -g 1234
    

Process groups are used to logically group processes. This example finds all files opened by processes with PGID `1234`.

## List all files associated with specific file descriptors.
    
    
    # lsof -d 2
    

This lists all files that have been opened as file descriptor `2`.

You may also specify ranges of file descriptors:
    
    
    # lsof -d 0-2
    

This would list all files with file descriptors 0, 1 and 2.

There are also many special values, such as `mem`, that lists memory-mapped files:
    
    
    # lsof -d mem
    

Or `txt` for programs loaded in memory and executing:
    
    
    # lsof -d txt
    

## Output PIDs of processes using some resource.
    
    
    # lsof -t -i
    

The `-t` option outputs only PIDs of processes. Used together with `-i` it outputs PIDs of all processes with network connections. It's easy to kill all processes that use network:
    
    
    # kill -9 `lsof -t -i`
    

## Repeat listing files.
    
    
    # lsof -r 1
    

The `-r` option makes lsof repeatedly list files until interrupted. Argument `1` means repeat the listing every 1 second. This option is best combined with a narrower query such as monitoring user network file activity:
    
    
    # lsof -r 1 -u john -i -a
    

## How to install lsof?

Lsof comes preinstalled on many Unix systems. If your system doesn't have it, try to install it from the [source][26].

BSD supplies its own utility that does similar things, it's called **fstat**.

For the full documentation of lsof see the [man lsof][27] page or type `lsof -h` for a small cheat sheet.

Have fun with lsof!

[Tweet][28]

[Tags][29]: [fd][30], [fds][31], [files][32], [linux][33], [lsof][34], [mem][35], [open files][36], [pgid][37], [pid][38], [tcp][39], [txt][40], [udp][41], [unix][42], [utility][43]

[**22** Comments][44] **306,702** Views  Short URL 

This article is part of the article series "[Unix Utilities You Should Know About][20]." 

<[\- previous article][21] 1\. A Unix Utility You Should Know About: Pipe Viewer 2\. A Unix Utility You Should Know About: Netcat 3\. A Unix Utility You Should Know About: lsof next article ->

### Related Posts

* [A Unix Utility You Should Know About: Netcat][21]
* [Traffic Accounting with Linux IPTables][45]
* [A Unix Utility You Should Know About: Pipe Viewer][46]
* [TCP Traceroute][47]
* [Bash Emacs Editing Mode Cheat Sheet][48]
* [Working Productively in Bash's Vi Command Line Editing Mode (with Cheat Sheet)][49]
* [The Definitive Guide to Bash Command Line History][50]
* [Announcing my second e-book "Sed One-Liners Explained"][51]
* [How to run unkillable* (persistent) programs in Linux][52]
* [TCP Port Scanner in Bash][53]
* ### Comments

![][54]

annhltr [Permalink][55]

December 23, 2009, 16:50

Note: That is a lower case L and not an upper case i.

[Reply to this comment][56]

![][57]

[Peter Krumins][58] [pkrumins][59] [Permalink][60]

December 23, 2009, 16:55

annhltr, yeah, like in command `LS`.

[Reply to this comment][61]

![][62]

jack [Permalink][63]

December 23, 2009, 17:24

Thank you for this useful post.

A general hint on how you can make posts about unix commands more useful, particularly for beginners:

Show a snippet of the output of some of the lsof commands and then add some comments on how to read the output. E.g. understanding the network connections or traffic is not always straight forward.

Keep up the good work, and happy holidays to you.

[Reply to this comment][64]

![][57]

[Peter Krumins][58] [pkrumins][59] [Permalink][65]

December 23, 2009, 17:27

Thanks for the hint, Jack. Gonna update this article with output + comments on how to read the output.

Happy holidays!

[Reply to this comment][66]

![][67]

Bryan [Permalink][68]

December 23, 2009, 18:02

For more serious debugging, see: strace

A working knowledge of C and common Unix syscalls helps.

[Reply to this comment][69]

![][70]

[Matt][71] [Permalink][72]

December 23, 2009, 18:34

I also think comments on how to read the output would be nice.

I like your blog.

[Reply to this comment][73]

![][74]

Bron [Permalink][75]

December 23, 2009, 21:48

You really should be mentioning "-n" somewhere in here, to stop it doing DNS lookups on any hostnames in sockets. Otherwise it can be quite slow.

[Reply to this comment][76]

![][77]

[Dr. Drang][78] [Permalink][79]

December 23, 2009, 22:41

A note from the Metaphor Police: You cannot call something a "Swiss Army Knife" in one paragraph and say it "does just one task and it does it perfectly" in the next.

[Reply to this comment][80]

![][81]

[Matt Simmons][82] [Permalink][83]

December 24, 2009, 14:23

Awesome resource. I use lsof a lot, but didn't know about all of these. Great writeup!

[Reply to this comment][84]

![][57]

[Peter Krumins][58] [pkrumins][59] [Permalink][85]

December 24, 2009, 14:54

Hi Matt! Thanks for the comment. It's great to have you on my blog! I have been following your blog for a year or so. You also have great content!

[Reply to this comment][86]

![][87]

[SMiGL][88] [Permalink][89]

December 24, 2009, 19:59

Helpful post. Thanks

[Reply to this comment][90]

![][91]

soliko [Permalink][92]

December 25, 2009, 08:01

this is your best series, please consider writing about strace and ltrace.

[Reply to this comment][93]

![][94]

a [Permalink][95]

December 25, 2009, 16:11

"I have been following your blog for a year or so."

Please post the URL

[Reply to this comment][96]

![][97]

kangu [Permalink][98]

December 26, 2009, 22:05

Very instructive! Another entry for strace would be very cool ! 

keep it up dude, you're doing great!

[Reply to this comment][99]

![][57]

[Peter Krumins][58] [pkrumins][59] [Permalink][100]

December 29, 2009, 15:55

a, the address is <http://www.standalone-sysadmin.com/blog>.

[Reply to this comment][101]

![][102]

caglar [Permalink][103]

January 03, 2010, 07:23

Great work man.Thanks

[Reply to this comment][104]

![][105]

JK [Permalink][106]

April 13, 2010, 15:09

Please note that on Mac OS X, lsof only shows your own processes unless running as root with sudo

[Reply to this comment][107]

![][108]

Ed [Permalink][109]

December 31, 2012, 15:30

Question regarding lsof run as a non-root user...

I have been trying to figure out how to do this...

Here is my scenario...

userA has a script in cron on the ftp server(ftpsrvr) that checks the following directories for zip files to scp from the DMZ ftp server(ftpsrvr) to an internal production server(prdsrvr) if the file is not open:  
/data/chroot/userB  
/data/chroot/userC

Run as root, the script works... But run as userA, the lsof command never sees an open file...

To make sure there wasn't something wrong with my script, I ran the command "lsof | grep zip" as root and I see the open file... I then run "lsof | grep zip" as userA and don't see the file...

userA is able to see the files and move them because of the following ACL commands:

setfacl -m u:userA:rwx /data/chroot/userB  
setfacl -m u:userA:rwx /data/chroot/userC

Any suggestions?

[Reply to this comment][110]

![][111]

[Daniel Adeniji][112] [Permalink][113]

January 17, 2013, 03:30

I had a need to reliably determine that the right Java Jar File was being picked up. Couldn't find the Info and so Harvested Linked-In and sent an email to one of my Developer System Architect guys. He quickly replied asking me to use lsof.

Used and loved it. And, so Googled to better understand all of its mightiness. And, I must add my voice to those who say you have done a good job.

Thanks for sharing with the community!

[Reply to this comment][114]

![][115]

Raj [Permalink][116]

August 14, 2013, 02:27

I just found this and thank you for such helpful posting

[Reply to this comment][117]

![][118]

Tony Sweeney [Permalink][119]

January 30, 2014, 17:43

The lsof command is available on all three BSD flavours via their various ports mechanisms. In fact I recall reading it was originally written on FreeBSD and then ported to other UNIXes, though I can no longer find that link. Version 2 was available on FreeBSD 1.0e in 1993. Linux support came three years later with Version 3. See the file RELEASE.SUMMARY_4.87 in the source distribution for confirmation.

[Reply to this comment][120]

![][121]

[siphr][122] [_siphr_][123] [Permalink][124]

August 26, 2016, 08:53

Nice article, I've used lsof on and off but keep forgetting about it when I need it. Bookmarked for reference.

[Reply to this comment][125]

### Leave a new comment

Name:

E-mail: ([why do I need your e-mail?][126])

It would be nice if you left your e-mail address. Sometimes I want to send a private message, or just thank for the great comment. Having your e-mail really helps. 

**I will never ever spam you.**

Twitter: (Your twitter handle, if you have one.)

Website:

Comment:

[Comment Help][127]

* use `<pre>...</pre>` to insert a plain code snippet.
* use `<pre lang="**lang**">...</pre>` to insert a syntax highlighted code snippet.  
For example, `<pre lang="**python**">...</pre>` will insert Python highlighted code. 

* use `<code>...</code>` to highlight a variable or a single shell command.
* use `<a href="http://www.catonmat.net/url" nospam>title</a>` to insert links.
* use other HTML tags, such as, `<b>`, `<i>`, `<blockquote>`, `<sup>`, `<sub>` for text formatting.

Type the word "**0day_152**":  (just to make sure you're a human) 

Please **preview** the comment before submitting to make sure it's OK.  

### Advertisements

About the site:

[ ![Peter Krumins][128] ][129] Peter Krumins' blog about programming, hacking, software reuse, software ideas, computer security, browserling, google and technology. 

Reach me at:

![][130]

Or meet me on:

* ![][15][Twitter][131]
* ![][132][Facebook][133]
* ![][134][Plurk][135]
* ![][136][more][127]
* ![][137][GitHub][138]
* ![][139][LinkedIn][140]
* ![][141][FriendFeed][142]
* ![][143][Google Plus][144]

Subscribe to my posts:

Subscribe through an RSS feed:

[ ![][145] ![][146] ][147] ([what is rss?][148])

Subscribe through email:

Enter your email address:

Delivered by [FeedBurner][149]

My Amazon Wish List

I love to read science books. They make my day and I get ideas for awesome blog posts, such as [Busy Beaver][150], [On Functors][151], [Recursive Regular Expressions][152] and [many others][153].

Take a look at my ![][154][Amazon wish list][155], if you're curious about what I have planned reading next, and want to surprise me. :)

My Books

* [Awk Programming Book][156]
* [Sed Programming Book][157]
* [Perl Programming Book][158]

My Other Websites

* [Free Science Online][159]
* [Free Science Videos][160]

Top Ten Articles:

* [Top Ten One-Liners from CommandLineFu Explained][161]
* [Turn any Linux computer into SOCKS5 proxy in one command][162]
* [My Job Interview at Google][163]
* [Sed One-Liners Explained, Part I: File Spacing, Numbering and Text Conversion and Substitution][164]
* [MIT's Introduction to Algorithms, Lectures 1 and 2: Analysis of Algorithms][165]
* [A HTTP Proxy Server in 20 Lines of node.js Code][166]
* [Awk One-Liners Explained, Part I: File Spacing, Numbering and Calculations][167]
* [Low Level Bit Hacks You Absolutely Must Know][168]
* [The Definitive Guide to Bash Command Line History][169]
* [Working Productively in Bash's Vi Command Line Editing Mode (with Cheat Sheet)][170]

[See all top articles][171]

Top Ten Downloads:

* [perl1line.txt][172] (372,978)
* [bash redirections cheat sheet (.pdf)][173] (266,045)
* [bash history cheat sheet (.pdf)][174] (230,556)
* [awk cheat sheet (.pdf)][175] (229,175)
* [sed stream editor cheat sheet (.pdf)][176] (171,782)
* [screen cheat sheet (.pdf)][177] (169,707)
* [bash vi editing mode cheat sheet (.pdf)][178] (168,734)
* [perl's pack/unpack and printf cheat sheet (.pdf)][179] (153,284)
* [awk cheat sheet (.txt)][180] (140,725)
* [perl's special variable cheat sheet (.pdf)][181] (137,758)

[See all downloads][182]

Recent Articles:

* [Browserling is now a top 40k website in the world][183]
* [Knuth vs McIlroy (Epic Computer Science Battles)][184]
* [1000 days of commits][185]
* [Browserling has helped Cameroonians restore Internet freedom][186]
* [Why does Browserling's comic have 10 different formats?][187]
* [Eighth site in online tools network: onlineBINARYtools.com][188]
* [How much traffic do domain typos get?][189]
* [Larry Wall illustrated][190]
* [Seventh site in online tools network: onlineYAMLtools.com][191]
* [Merry browsery Christmas and Happy browsery New Year!][192]

[See more detailed list of recent articles][193]

Article Categories:

* [Awk Programming][194] (8)
* [Browserling][195] (110)
* [Cheat Sheets][196] (13)
* [Computer Science][197] (9)
* [Hacker's Approach][198] (8)
* [Howto][199] (12)
* [Ideas for Later][200] (1)
* [Interviews][201] (8)
* [Introduction to Algorithms][202] (15)
* [Linear Algebra][203] (6)
* [Mathematics][204] (1)
* [Misc][205] (32)
* [Musical Geek Friday][206] (17)
* [My Favorite Books][207] (7)
* [Node.js Modules][208] (15)
* [Perl Programming][209] (16)
* [Programming][210] (38)
* [Projects][211] (13)
* [Security][212] (4)
* [The New Catonmat][213] (1)
* [Tools][214] (1)
* [Unix Shell][215] (31)
* [Video Lectures][216] (18)
* [Visual Math Friday][217] (1)

[See more detailed category information][218]

Article Archive:

* [February, 2018][219] (3)
* [January, 2018][220] (6)
* [December, 2017][221] (5)
* [November, 2017][222] (8)
* [October, 2017][223] (5)
* [September, 2017][224] (1)
* [August, 2017][225] (4)
* [July, 2017][226] (3)
* [June, 2017][227] (1)
* [May, 2017][228] (1)
* [April, 2017][229] (4)
* [March, 2017][230] (2)
* [February, 2017][231] (4)
* [January, 2017][232] (1)
* [December, 2016][233] (5)
* [November, 2016][234] (2)
* [October, 2016][235] (2)
* [September, 2016][236] (2)
* [August, 2016][237] (3)
* [July, 2016][238] (3)
* [June, 2016][239] (1)
* [May, 2016][240] (1)
* [April, 2016][241] (1)
* [March, 2016][242] (5)
* [February, 2016][243] (1)
* [January, 2016][244] (4)
* [December, 2015][245] (4)
* [November, 2015][246] (4)
* [October, 2015][247] (7)
* [September, 2015][248] (9)
* [August, 2015][249] (1)
* [July, 2015][250] (2)
* [June, 2015][251] (2)
* [May, 2015][252] (1)
* [April, 2015][253] (6)
* [March, 2015][254] (1)
* [February, 2015][255] (1)
* [January, 2015][256] (1)
* [December, 2014][257] (1)
* [November, 2014][258] (1)
* [October, 2014][259] (2)
* [September, 2014][260] (1)
* [August, 2014][261] (1)
* [July, 2014][262] (1)
* [June, 2014][263] (1)
* [May, 2014][264] (1)
* [April, 2014][265] (1)
* [March, 2014][266] (3)
* [February, 2014][267] (3)
* [January, 2014][268] (5)
* [December, 2013][269] (1)
* [November, 2013][270] (1)
* [October, 2013][271] (1)
* [September, 2013][272] (1)
* [August, 2013][273] (1)
* [July, 2013][274] (1)
* [June, 2013][275] (1)
* [May, 2013][276] (1)
* [April, 2013][277] (1)
* [March, 2013][278] (1)
* [February, 2013][279] (2)
* [January, 2013][280] (4)
* [December, 2012][281] (1)
* [November, 2012][282] (3)
* [October, 2012][283] (4)
* [September, 2012][284] (3)
* [August, 2012][285] (2)
* [July, 2012][286] (2)
* [June, 2012][287] (1)
* [May, 2012][288] (4)
* [April, 2012][289] (3)
* [March, 2012][290] (2)
* [February, 2012][291] (1)
* [January, 2012][292] (4)
* [December, 2011][293] (15)
* [November, 2011][294] (3)
* [October, 2011][295] (2)
* [September, 2011][296] (2)
* [August, 2011][297] (3)
* [July, 2011][298] (1)
* [June, 2011][299] (2)
* [May, 2011][300] (1)
* [April, 2011][301] (1)
* [March, 2011][302] (2)
* [February, 2011][303] (2)
* [January, 2011][304] (1)
* [December, 2010][305] (2)
* [November, 2010][306] (1)
* [October, 2010][307] (2)
* [September, 2010][308] (1)
* [August, 2010][309] (2)
* [July, 2010][310] (2)
* [June, 2010][311] (2)
* [May, 2010][312] (2)
* [April, 2010][313] (2)
* [March, 2010][314] (5)
* [February, 2010][315] (5)
* [January, 2010][316] (7)
* [December, 2009][317] (6)
* [November, 2009][318] (6)
* [October, 2009][319] (2)
* [September, 2009][320] (3)
* [August, 2009][321] (2)
* [July, 2009][322] (4)
* [June, 2009][323] (1)
* [May, 2009][324] (1)
* [April, 2009][325] (1)
* [March, 2009][326] (2)
* [February, 2009][327] (7)
* [January, 2009][328] (4)
* [December, 2008][329] (8)
* [November, 2008][330] (7)
* [October, 2008][331] (5)
* [September, 2008][332] (5)
* [August, 2008][333] (9)
* [July, 2008][334] (14)
* [June, 2008][335] (4)
* [May, 2008][336] (5)
* [April, 2008][337] (8)
* [March, 2008][338] (3)
* [February, 2008][339] (1)
* [January, 2008][340] (1)
* [December, 2007][341] (1)
* [November, 2007][342] (1)
* [October, 2007][343] (3)
* [September, 2007][344] (5)
* [August, 2007][345] (10)
* [July, 2007][346] (9)

[See more detailed list of all articles][193]

Advertisements

![][347]   
[(advertise on catonmat)][348]

![tumblr tracker][349]

![][350]

[1]: http://www.catonmat.net/
[2]: http://www.catonmat.net/books/
[3]: http://www.catonmat.net/projects/
[4]: http://www.catonmat.net/sitemap/
[5]: http://www.catonmat.net/feedback/
[6]: http://www.catonmat.net/about/
[7]: http://www.catonmat.net/consulting/
[8]: http://www.catonmat.net/advertise/
[9]: http://www.catonmat.net/static/img/good-coders-code-great-coders-reuse.png
[10]: http://www.catonmat.net/ "Return to good coders code, great coders reuse"
[11]: http://www.catonmat.net/blog/launching-browserling/ "I am doing a startup!"
[12]: http://www.catonmat.net/static/img/browserling-logo-180px.png
[13]: http://www.catonmat.net/blog/perl-one-liners-no-starch-press/
[14]: http://www.catonmat.net/static/img/perl-book-no-starch-press-180x61.png
[15]: http://www.catonmat.net/static/img/twitter-16x16.gif
[16]: http://twitter.com/pkrumins "Peteris Krumins on Twitter"
[17]: http://www.catonmat.net/category/unix-shell "See all posts in category "Unix Shell""
[18]: http://www.catonmat.net/blog/unix-utilities-lsof/#comments "22 people have commented on "A Unix Utility You Should Know About: lsof""
[19]: http://www.catonmat.net/blog/unix-utilities-lsof/ "A Unix Utility You Should Know About: lsof"
[20]: http://www.catonmat.net/series/unix-utilities-you-should-know-about "Article series "Unix Utilities You Should Know About""
[21]: http://www.catonmat.net/blog/unix-utilities-netcat/ "A Unix Utility You Should Know About: Netcat"
[22]: http://www.catonmat.net/blog/wp-content/uploads/2009/02/unix-utilities.jpg
[23]: http://www.catonmat.net/blog/unix-utilities-netcat/
[24]: http://www.catonmat.net/blog/unix-utilities-pipe-viewer/
[25]: http://feeds.feedburner.com/catonmat
[26]: http://people.freebsd.org/~abe/
[27]: http://www.opensource.apple.com/source/lsof/lsof-33/lsof/lsof.man
[28]: https://twitter.com/share
[29]: http://www.catonmat.net/tags "All catonmat tags"
[30]: http://www.catonmat.net/tag/fd "See all pages tagged "fd""
[31]: http://www.catonmat.net/tag/fds "See all pages tagged "fds""
[32]: http://www.catonmat.net/tag/files "See all pages tagged "files""
[33]: http://www.catonmat.net/tag/linux "See all pages tagged "linux""
[34]: http://www.catonmat.net/tag/lsof "See all pages tagged "lsof""
[35]: http://www.catonmat.net/tag/mem "See all pages tagged "mem""
[36]: http://www.catonmat.net/tag/open-files "See all pages tagged "open files""
[37]: http://www.catonmat.net/tag/pgid "See all pages tagged "pgid""
[38]: http://www.catonmat.net/tag/pid "See all pages tagged "pid""
[39]: http://www.catonmat.net/tag/tcp "See all pages tagged "tcp""
[40]: http://www.catonmat.net/tag/txt "See all pages tagged "txt""
[41]: http://www.catonmat.net/tag/udp "See all pages tagged "udp""
[42]: http://www.catonmat.net/tag/unix "See all pages tagged "unix""
[43]: http://www.catonmat.net/tag/utility "See all pages tagged "utility""
[44]: http://www.catonmat.net/blog/unix-utilities-lsof/#comments "Comment on "A Unix Utility You Should Know About: lsof""
[45]: http://www.catonmat.net/blog/traffic-accounting-with-iptables/ "Traffic Accounting with Linux IPTables"
[46]: http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ "A Unix Utility You Should Know About: Pipe Viewer"
[47]: http://www.catonmat.net/blog/tcp-traceroute/ "TCP Traceroute"
[48]: http://www.catonmat.net/blog/bash-emacs-editing-mode-cheat-sheet/ "Bash Emacs Editing Mode Cheat Sheet"
[49]: http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/ "Working Productively in Bash's Vi Command Line Editing Mode (with Cheat Sheet)"
[50]: http://www.catonmat.net/blog/the-definitive-guide-to-bash-command-line-history/ "The Definitive Guide to Bash Command Line History"
[51]: http://www.catonmat.net/blog/sed-book/ "Announcing my second e-book "Sed One-Liners Explained""
[52]: http://www.catonmat.net/blog/unkillable-linux-programs/ "How to run unkillable* (persistent) programs in Linux"
[53]: http://www.catonmat.net/blog/tcp-port-scanner-in-bash/ "TCP Port Scanner in Bash"
[54]: http://www.gravatar.com/avatar/bb957e681660cc70896ab9e76326e68b.jpg?s=40
[55]: http://www.catonmat.net/c/2173 "Permanent link to the comment"
[56]: http://www.catonmat.net/c/2173?reply "Reply to comment by annhltr"
[57]: http://www.gravatar.com/avatar/9055b6c1d07708555ec584d03c387f15.jpg?s=40
[58]: http://www.catonmat.net "http://www.catonmat.net"
[59]: http://twitter.com/pkrumins "pkrumins on Twitter"
[60]: http://www.catonmat.net/c/2174 "Permanent link to the comment"
[61]: http://www.catonmat.net/c/2174?reply "Reply to comment by Peter Krumins"
[62]: http://www.gravatar.com/avatar/8f8ff21a67437febebc70afd19364e95.jpg?s=40
[63]: http://www.catonmat.net/c/2175 "Permanent link to the comment"
[64]: http://www.catonmat.net/c/2175?reply "Reply to comment by jack"
[65]: http://www.catonmat.net/c/2176 "Permanent link to the comment"
[66]: http://www.catonmat.net/c/2176?reply "Reply to comment by Peter Krumins"
[67]: http://www.gravatar.com/avatar/403a57f5bb5457c7ad9707a7102196b1.jpg?s=40
[68]: http://www.catonmat.net/c/2177 "Permanent link to the comment"
[69]: http://www.catonmat.net/c/2177?reply "Reply to comment by Bryan"
[70]: http://www.gravatar.com/avatar/b5d5b8260a8d67bae7f4c5823f4b2910.jpg?s=40
[71]: http://- "http://-"
[72]: http://www.catonmat.net/c/2178 "Permanent link to the comment"
[73]: http://www.catonmat.net/c/2178?reply "Reply to comment by Matt"
[74]: http://www.gravatar.com/avatar/c55ece7022f0678e7b270ec72115b394.jpg?s=40
[75]: http://www.catonmat.net/c/2179 "Permanent link to the comment"
[76]: http://www.catonmat.net/c/2179?reply "Reply to comment by Bron"
[77]: http://www.gravatar.com/avatar/5074909319a2bf87d136cdc0ed47509f.jpg?s=40
[78]: http://www.leancrew.com/all-this/ "http://www.leancrew.com/all-this/"
[79]: http://www.catonmat.net/c/2180 "Permanent link to the comment"
[80]: http://www.catonmat.net/c/2180?reply "Reply to comment by Dr. Drang"
[81]: http://www.gravatar.com/avatar/f57ec884349ea08326fabeae080b3722.jpg?s=40
[82]: http://www.standalone-sysadmin.com/blog "http://www.standalone-sysadmin.com/blog"
[83]: http://www.catonmat.net/c/2181 "Permanent link to the comment"
[84]: http://www.catonmat.net/c/2181?reply "Reply to comment by Matt Simmons"
[85]: http://www.catonmat.net/c/2182 "Permanent link to the comment"
[86]: http://www.catonmat.net/c/2182?reply "Reply to comment by Peter Krumins"
[87]: http://www.gravatar.com/avatar/bb0b7a78dc1ad14d8d042b4182d30b24.jpg?s=40
[88]: http://night-fairy-tales.blogspot.com/ "http://night-fairy-tales.blogspot.com/"
[89]: http://www.catonmat.net/c/2183 "Permanent link to the comment"
[90]: http://www.catonmat.net/c/2183?reply "Reply to comment by SMiGL"
[91]: http://www.gravatar.com/avatar/92bf067aedd56d1f00b18d1753f0c8f4.jpg?s=40
[92]: http://www.catonmat.net/c/2184 "Permanent link to the comment"
[93]: http://www.catonmat.net/c/2184?reply "Reply to comment by soliko"
[94]: http://www.gravatar.com/avatar/fbef9fa4fee116c91fc53b4889272390.jpg?s=40
[95]: http://www.catonmat.net/c/2185 "Permanent link to the comment"
[96]: http://www.catonmat.net/c/2185?reply "Reply to comment by a"
[97]: http://www.gravatar.com/avatar/aa7791bb8d44396f467df5f04307ee73.jpg?s=40
[98]: http://www.catonmat.net/c/2186 "Permanent link to the comment"
[99]: http://www.catonmat.net/c/2186?reply "Reply to comment by kangu"
[100]: http://www.catonmat.net/c/2187 "Permanent link to the comment"
[101]: http://www.catonmat.net/c/2187?reply "Reply to comment by Peter Krumins"
[102]: http://www.gravatar.com/avatar/5774c5b0cf65c2241cf5451901c03f6f.jpg?s=40
[103]: http://www.catonmat.net/c/2188 "Permanent link to the comment"
[104]: http://www.catonmat.net/c/2188?reply "Reply to comment by caglar"
[105]: http://www.gravatar.com/avatar/c8a86e6aa6ee94164ba208ac40af0887.jpg?s=40
[106]: http://www.catonmat.net/c/2770 "Permanent link to the comment"
[107]: http://www.catonmat.net/c/2770?reply "Reply to comment by JK"
[108]: http://www.gravatar.com/avatar/cc884189ca3d28a648dae762da32ff66.jpg?s=40
[109]: http://www.catonmat.net/c/41942 "Permanent link to the comment"
[110]: http://www.catonmat.net/c/41942?reply "Reply to comment by Ed"
[111]: http://www.catonmat.net/static/img/nogravatar.gif
[112]: http://DanielAdeniji.wordpress.com "http://DanielAdeniji.wordpress.com"
[113]: http://www.catonmat.net/c/42135 "Permanent link to the comment"
[114]: http://www.catonmat.net/c/42135?reply "Reply to comment by Daniel Adeniji"
[115]: http://www.gravatar.com/avatar/a3fadb4b95ec4a1c78c8621f534017e8.jpg?s=40
[116]: http://www.catonmat.net/c/45703 "Permanent link to the comment"
[117]: http://www.catonmat.net/c/45703?reply "Reply to comment by Raj"
[118]: http://www.gravatar.com/avatar/900d61397e69bbe85e584f924f376388.jpg?s=40
[119]: http://www.catonmat.net/c/46973 "Permanent link to the comment"
[120]: http://www.catonmat.net/c/46973?reply "Reply to comment by Tony Sweeney"
[121]: http://www.gravatar.com/avatar/795f74e9d54ffb50f42b028e27e64f9c.jpg?s=40
[122]: https://techtum.eu "https://techtum.eu"
[123]: http://twitter.com/_siphr_ "_siphr_ on Twitter"
[124]: http://www.catonmat.net/c/78771 "Permanent link to the comment"
[125]: http://www.catonmat.net/c/78771?reply "Reply to comment by siphr"
[126]: http://www.catonmat.net# "Why do I need your email?"
[127]: http://www.catonmat.net#
[128]: http://www.catonmat.net/static/img/peteris-krumins-small.jpg
[129]: http://www.catonmat.net/about/ "About Peter Krumins"
[130]: http://www.catonmat.net/static/img/peter-catonmat-net.gif
[131]: http://www.twitter.com/pkrumins
[132]: http://www.catonmat.net/static/img/facebook-16x16.gif
[133]: http://www.facebook.com/pkrumins
[134]: http://www.catonmat.net/static/img/plurk-16x16.gif
[135]: http://www.plurk.com/pkrumins
[136]: http://www.catonmat.net/static/img/more-10x10.gif
[137]: http://www.catonmat.net/static/img/github-16x16.gif
[138]: http://www.github.com/pkrumins
[139]: http://www.catonmat.net/static/img/linkedin-16x16.gif
[140]: http://www.linkedin.com/in/pkrumins
[141]: http://www.catonmat.net/static/img/friendfeed-16x16.gif
[142]: http://www.friendfeed.com/pkrumins
[143]: http://www.catonmat.net/static/img/google-plus-16x16.png
[144]: https://plus.google.com/102155999275405024037
[145]: http://www.catonmat.net/static/img/rss-feed-16x16.png
[146]: http://www.catonmat.net/images/feedcounter-crontab.gif
[147]: http://feeds2.feedburner.com/catonmat "Catonmat RSS Feed"
[148]: http://www.catonmat.net/what-is-rss/ "What is an RSS feed?"
[149]: http://feedburner.google.com
[150]: http://www.catonmat.net/blog/busy-beaver/
[151]: http://www.catonmat.net/blog/on-functors/
[152]: http://www.catonmat.net/blog/recursive-regular-expressions/
[153]: http://www.catonmat.net/archive
[154]: http://www.catonmat.net/static/img/amazon-16x16.gif
[155]: http://www.amazon.com/registry/wishlist/QDKYO6OQUU4O?reveal=unpurchased&filter=all&sort=priority&layout=standard
[156]: http://www.catonmat.net/blog/awk-book/ "Awk Programming Book"
[157]: http://www.catonmat.net/blog/sed-book/ "Sed Programming Book"
[158]: http://www.catonmat.net/blog/perl-book/ "Perl Programming Book"
[159]: http://freescienceonline.blogspot.com
[160]: http://www.freesciencelectures.com
[161]: http://www.catonmat.net/blog/top-ten-one-liners-from-commandlinefu-explained/ "Read "Top Ten One-Liners from CommandLineFu Explained" (has been read 1,264,637 times)"
[162]: http://www.catonmat.net/blog/linux-socks5-proxy/ "Read "Turn any Linux computer into SOCKS5 proxy in one command" (has been read 1,259,552 times)"
[163]: http://www.catonmat.net/blog/my-job-interview-at-google/ "Read "My Job Interview at Google" (has been read 1,214,048 times)"
[164]: http://www.catonmat.net/blog/sed-one-liners-explained-part-one/ "Read "Sed One-Liners Explained, Part I: File Spacing, Numbering and Text Conversion and Substitution" (has been read 1,089,066 times)"
[165]: http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-one/ "Read "MIT's Introduction to Algorithms, Lectures 1 and 2: Analysis of Algorithms" (has been read 956,913 times)"
[166]: http://www.catonmat.net/http-proxy-in-nodejs/ "Read "A HTTP Proxy Server in 20 Lines of node.js Code" (has been read 914,888 times)"
[167]: http://www.catonmat.net/blog/awk-one-liners-explained-part-one/ "Read "Awk One-Liners Explained, Part I: File Spacing, Numbering and Calculations" (has been read 820,159 times)"
[168]: http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/ "Read "Low Level Bit Hacks You Absolutely Must Know" (has been read 815,323 times)"
[169]: http://www.catonmat.net/blog/the-definitive-guide-to-bash-command-line-history/ "Read "The Definitive Guide to Bash Command Line History" (has been read 781,136 times)"
[170]: http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/ "Read "Working Productively in Bash's Vi Command Line Editing Mode (with Cheat Sheet)" (has been read 691,978 times)"
[171]: http://www.catonmat.net/archive?sorted_by=views "Top catonmat articles"
[172]: http://www.catonmat.net/download/perl1line.txt "Download "perl1line.txt""
[173]: http://www.catonmat.net/download/bash-redirections-cheat-sheet.pdf "Download "bash redirections cheat sheet (.pdf)""
[174]: http://www.catonmat.net/download/bash-history-cheat-sheet.pdf "Download "bash history cheat sheet (.pdf)""
[175]: http://www.catonmat.net/download/awk.cheat.sheet.pdf "Download "awk cheat sheet (.pdf)""
[176]: http://www.catonmat.net/download/sed.stream.editor.cheat.sheet.pdf "Download "sed stream editor cheat sheet (.pdf)""
[177]: http://www.catonmat.net/download/screen.cheat.sheet.pdf "Download "screen cheat sheet (.pdf)""
[178]: http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf "Download "bash vi editing mode cheat sheet (.pdf)""
[179]: http://www.catonmat.net/download/perl.pack.unpack.printf.cheat.sheet.pdf "Download "perl's pack/unpack and printf cheat sheet (.pdf)""
[180]: http://www.catonmat.net/download/awk.cheat.sheet.txt "Download "awk cheat sheet (.txt)""
[181]: http://www.catonmat.net/download/perl.predefined.variables.pdf "Download "perl's special variable cheat sheet (.pdf)""
[182]: http://www.catonmat.net/downloads "All catonmat downloads"
[183]: http://www.catonmat.net/blog/browserling-top-40k-website/ "Read "Browserling is now a top 40k website in the world" (was published on February 19, 2018)"
[184]: http://www.catonmat.net/blog/knuth-vs-mcilroy/ "Read "Knuth vs McIlroy (Epic Computer Science Battles)" (was published on February 06, 2018)"
[185]: http://www.catonmat.net/blog/1000-days-of-commits/ "Read "1000 days of commits" (was published on February 04, 2018)"
[186]: http://www.catonmat.net/blog/cameroonians-restore-internet-access/ "Read "Browserling has helped Cameroonians restore Internet freedom" (was published on January 29, 2018)"
[187]: http://www.catonmat.net/blog/browserling-comic-10-formats/ "Read "Why does Browserling's comic have 10 different formats?" (was published on January 27, 2018)"
[188]: http://www.catonmat.net/blog/online-binary-tools/ "Read "Eighth site in online tools network: onlineBINARYtools.com" (was published on January 25, 2018)"
[189]: http://www.catonmat.net/blog/browserling-domain-typos/ "Read "How much traffic do domain typos get?" (was published on January 23, 2018)"
[190]: http://www.catonmat.net/blog/larry-wall-comic/ "Read "Larry Wall illustrated" (was published on January 05, 2018)"
[191]: http://www.catonmat.net/blog/online-yaml-tools/ "Read "Seventh site in online tools network: onlineYAMLtools.com" (was published on January 03, 2018)"
[192]: http://www.catonmat.net/blog/merry-browsery-christmas/ "Read "Merry browsery Christmas and Happy browsery New Year!" (was published on December 23, 2017)"
[193]: http://www.catonmat.net/archive "All catonmat articles"
[194]: http://www.catonmat.net/category/awk-programming "Awk Programming: Awk is a very important Unix programming language for manipulating text very quickly. It's included in every Unix and Linux distribution and you should know it inside out. Here are my tutorials about it."
[195]: http://www.catonmat.net/category/browserling "Browserling: Articles about my and James Halliday's startup - Browserling - live interactive web-based cross-browser testing! (Earlier called StackVM, which brings virtual machines to the web.) "
[196]: http://www.catonmat.net/category/cheat-sheets "Cheat Sheets: All kinds of programming and computer science cheat sheets - vt100/ansi cheat sheet, shell emacs editing mode cheat sheet, iptables cheat sheets and many many others."
[197]: http://www.catonmat.net/category/computer-science "Computer Science: I love computer science."
[198]: http://www.catonmat.net/category/hackers-approach "Hacker's Approach: Using the hacker's approach one can develop cool software in a matter of hours without really going into details how it all works but using the right pieces and putting them together. Also a real hacker would be able to do the right things with the wrong tools."
[199]: http://www.catonmat.net/category/howto "Howto: Howto guides - howto download youtube videos, how to upload them, how to be a real hacker, how to become immortal, etc ;)"
[200]: http://www.catonmat.net/category/ideas-for-later "Ideas for Later: Ideas that I want to build at some time later."
[201]: http://www.catonmat.net/category/interviews "Interviews: Interviews with me."
[202]: http://www.catonmat.net/category/introduction-to-algorithms "Introduction to Algorithms: Analysis of MIT's "Introduction to Algorithms" video lectures. Contains embedded videos with timestamped list of topics and scanned lecture notes."
[203]: http://www.catonmat.net/category/linear-algebra "Linear Algebra: Analysis of MIT's "Linear Algebra" course. Contains embedded videos with timestamped list of topics and scanned lecture notes."
[204]: http://www.catonmat.net/category/mathematics "Mathematics: A good computer scientist has to know mathematics."
[205]: http://www.catonmat.net/category/misc "Misc: Articles that don't fit in other categories. They include interviews and blogging related stuff."
[206]: http://www.catonmat.net/category/musical-geek-friday "Musical Geek Friday: Really funny and geeky songs I found in my mp3 collection."
[207]: http://www.catonmat.net/category/my-favorite-books "My Favorite Books: My favorite programming books, software development books, coding books, physics books, chemistry books, mathematics books, and science books."
[208]: http://www.catonmat.net/category/nodejs-modules "Node.js Modules: Here is a list of node.js modules you should know about. We use these at Browserling and Testling and it's great!"
[209]: http://www.catonmat.net/category/perl-programming "Perl Programming: Perl is my favorite and one of the hackiest languages ever invented. I get things done with quickly. Here are some of tutorials that I wrote about it."
[210]: http://www.catonmat.net/category/programming "Programming: I love programming!"
[211]: http://www.catonmat.net/category/projects "Projects: All the various projects that I have done, they include digpicz, reddit media, reddit river, and others."
[212]: http://www.catonmat.net/category/security "Security: Computer security is a field close to my heart."
[213]: http://www.catonmat.net/category/the-new-catonmat "The New Catonmat: Everything about the new catonmat website."
[214]: http://www.catonmat.net/category/tools "Tools: Tools - small programs that do great things. Actually this category is not very useful, I am going to merge it with some other category soon."
[215]: http://www.catonmat.net/category/unix-shell "Unix Shell: This category contains various articles on how to work in the Unix shell."
[216]: http://www.catonmat.net/category/video-lectures "Video Lectures: I love watching video lectures and tech talks. Here are some of my favorite videos."
[217]: http://www.catonmat.net/category/visual-math-friday "Visual Math Friday: I have collected hundreds of visual math proofs. In these articles I explain them and prove their correctness."
[218]: http://www.catonmat.net/categories "Detailed catonmat category information"
[219]: http://www.catonmat.net/archive/2018/02 "All articles written in February, 2018"
[220]: http://www.catonmat.net/archive/2018/01 "All articles written in January, 2018"
[221]: http://www.catonmat.net/archive/2017/12 "All articles written in December, 2017"
[222]: http://www.catonmat.net/archive/2017/11 "All articles written in November, 2017"
[223]: http://www.catonmat.net/archive/2017/10 "All articles written in October, 2017"
[224]: http://www.catonmat.net/archive/2017/09 "All articles written in September, 2017"
[225]: http://www.catonmat.net/archive/2017/08 "All articles written in August, 2017"
[226]: http://www.catonmat.net/archive/2017/07 "All articles written in July, 2017"
[227]: http://www.catonmat.net/archive/2017/06 "All articles written in June, 2017"
[228]: http://www.catonmat.net/archive/2017/05 "All articles written in May, 2017"
[229]: http://www.catonmat.net/archive/2017/04 "All articles written in April, 2017"
[230]: http://www.catonmat.net/archive/2017/03 "All articles written in March, 2017"
[231]: http://www.catonmat.net/archive/2017/02 "All articles written in February, 2017"
[232]: http://www.catonmat.net/archive/2017/01 "All articles written in January, 2017"
[233]: http://www.catonmat.net/archive/2016/12 "All articles written in December, 2016"
[234]: http://www.catonmat.net/archive/2016/11 "All articles written in November, 2016"
[235]: http://www.catonmat.net/archive/2016/10 "All articles written in October, 2016"
[236]: http://www.catonmat.net/archive/2016/09 "All articles written in September, 2016"
[237]: http://www.catonmat.net/archive/2016/08 "All articles written in August, 2016"
[238]: http://www.catonmat.net/archive/2016/07 "All articles written in July, 2016"
[239]: http://www.catonmat.net/archive/2016/06 "All articles written in June, 2016"
[240]: http://www.catonmat.net/archive/2016/05 "All articles written in May, 2016"
[241]: http://www.catonmat.net/archive/2016/04 "All articles written in April, 2016"
[242]: http://www.catonmat.net/archive/2016/03 "All articles written in March, 2016"
[243]: http://www.catonmat.net/archive/2016/02 "All articles written in February, 2016"
[244]: http://www.catonmat.net/archive/2016/01 "All articles written in January, 2016"
[245]: http://www.catonmat.net/archive/2015/12 "All articles written in December, 2015"
[246]: http://www.catonmat.net/archive/2015/11 "All articles written in November, 2015"
[247]: http://www.catonmat.net/archive/2015/10 "All articles written in October, 2015"
[248]: http://www.catonmat.net/archive/2015/09 "All articles written in September, 2015"
[249]: http://www.catonmat.net/archive/2015/08 "All articles written in August, 2015"
[250]: http://www.catonmat.net/archive/2015/07 "All articles written in July, 2015"
[251]: http://www.catonmat.net/archive/2015/06 "All articles written in June, 2015"
[252]: http://www.catonmat.net/archive/2015/05 "All articles written in May, 2015"
[253]: http://www.catonmat.net/archive/2015/04 "All articles written in April, 2015"
[254]: http://www.catonmat.net/archive/2015/03 "All articles written in March, 2015"
[255]: http://www.catonmat.net/archive/2015/02 "All articles written in February, 2015"
[256]: http://www.catonmat.net/archive/2015/01 "All articles written in January, 2015"
[257]: http://www.catonmat.net/archive/2014/12 "All articles written in December, 2014"
[258]: http://www.catonmat.net/archive/2014/11 "All articles written in November, 2014"
[259]: http://www.catonmat.net/archive/2014/10 "All articles written in October, 2014"
[260]: http://www.catonmat.net/archive/2014/09 "All articles written in September, 2014"
[261]: http://www.catonmat.net/archive/2014/08 "All articles written in August, 2014"
[262]: http://www.catonmat.net/archive/2014/07 "All articles written in July, 2014"
[263]: http://www.catonmat.net/archive/2014/06 "All articles written in June, 2014"
[264]: http://www.catonmat.net/archive/2014/05 "All articles written in May, 2014"
[265]: http://www.catonmat.net/archive/2014/04 "All articles written in April, 2014"
[266]: http://www.catonmat.net/archive/2014/03 "All articles written in March, 2014"
[267]: http://www.catonmat.net/archive/2014/02 "All articles written in February, 2014"
[268]: http://www.catonmat.net/archive/2014/01 "All articles written in January, 2014"
[269]: http://www.catonmat.net/archive/2013/12 "All articles written in December, 2013"
[270]: http://www.catonmat.net/archive/2013/11 "All articles written in November, 2013"
[271]: http://www.catonmat.net/archive/2013/10 "All articles written in October, 2013"
[272]: http://www.catonmat.net/archive/2013/09 "All articles written in September, 2013"
[273]: http://www.catonmat.net/archive/2013/08 "All articles written in August, 2013"
[274]: http://www.catonmat.net/archive/2013/07 "All articles written in July, 2013"
[275]: http://www.catonmat.net/archive/2013/06 "All articles written in June, 2013"
[276]: http://www.catonmat.net/archive/2013/05 "All articles written in May, 2013"
[277]: http://www.catonmat.net/archive/2013/04 "All articles written in April, 2013"
[278]: http://www.catonmat.net/archive/2013/03 "All articles written in March, 2013"
[279]: http://www.catonmat.net/archive/2013/02 "All articles written in February, 2013"
[280]: http://www.catonmat.net/archive/2013/01 "All articles written in January, 2013"
[281]: http://www.catonmat.net/archive/2012/12 "All articles written in December, 2012"
[282]: http://www.catonmat.net/archive/2012/11 "All articles written in November, 2012"
[283]: http://www.catonmat.net/archive/2012/10 "All articles written in October, 2012"
[284]: http://www.catonmat.net/archive/2012/09 "All articles written in September, 2012"
[285]: http://www.catonmat.net/archive/2012/08 "All articles written in August, 2012"
[286]: http://www.catonmat.net/archive/2012/07 "All articles written in July, 2012"
[287]: http://www.catonmat.net/archive/2012/06 "All articles written in June, 2012"
[288]: http://www.catonmat.net/archive/2012/05 "All articles written in May, 2012"
[289]: http://www.catonmat.net/archive/2012/04 "All articles written in April, 2012"
[290]: http://www.catonmat.net/archive/2012/03 "All articles written in March, 2012"
[291]: http://www.catonmat.net/archive/2012/02 "All articles written in February, 2012"
[292]: http://www.catonmat.net/archive/2012/01 "All articles written in January, 2012"
[293]: http://www.catonmat.net/archive/2011/12 "All articles written in December, 2011"
[294]: http://www.catonmat.net/archive/2011/11 "All articles written in November, 2011"
[295]: http://www.catonmat.net/archive/2011/10 "All articles written in October, 2011"
[296]: http://www.catonmat.net/archive/2011/09 "All articles written in September, 2011"
[297]: http://www.catonmat.net/archive/2011/08 "All articles written in August, 2011"
[298]: http://www.catonmat.net/archive/2011/07 "All articles written in July, 2011"
[299]: http://www.catonmat.net/archive/2011/06 "All articles written in June, 2011"
[300]: http://www.catonmat.net/archive/2011/05 "All articles written in May, 2011"
[301]: http://www.catonmat.net/archive/2011/04 "All articles written in April, 2011"
[302]: http://www.catonmat.net/archive/2011/03 "All articles written in March, 2011"
[303]: http://www.catonmat.net/archive/2011/02 "All articles written in February, 2011"
[304]: http://www.catonmat.net/archive/2011/01 "All articles written in January, 2011"
[305]: http://www.catonmat.net/archive/2010/12 "All articles written in December, 2010"
[306]: http://www.catonmat.net/archive/2010/11 "All articles written in November, 2010"
[307]: http://www.catonmat.net/archive/2010/10 "All articles written in October, 2010"
[308]: http://www.catonmat.net/archive/2010/09 "All articles written in September, 2010"
[309]: http://www.catonmat.net/archive/2010/08 "All articles written in August, 2010"
[310]: http://www.catonmat.net/archive/2010/07 "All articles written in July, 2010"
[311]: http://www.catonmat.net/archive/2010/06 "All articles written in June, 2010"
[312]: http://www.catonmat.net/archive/2010/05 "All articles written in May, 2010"
[313]: http://www.catonmat.net/archive/2010/04 "All articles written in April, 2010"
[314]: http://www.catonmat.net/archive/2010/03 "All articles written in March, 2010"
[315]: http://www.catonmat.net/archive/2010/02 "All articles written in February, 2010"
[316]: http://www.catonmat.net/archive/2010/01 "All articles written in January, 2010"
[317]: http://www.catonmat.net/archive/2009/12 "All articles written in December, 2009"
[318]: http://www.catonmat.net/archive/2009/11 "All articles written in November, 2009"
[319]: http://www.catonmat.net/archive/2009/10 "All articles written in October, 2009"
[320]: http://www.catonmat.net/archive/2009/09 "All articles written in September, 2009"
[321]: http://www.catonmat.net/archive/2009/08 "All articles written in August, 2009"
[322]: http://www.catonmat.net/archive/2009/07 "All articles written in July, 2009"
[323]: http://www.catonmat.net/archive/2009/06 "All articles written in June, 2009"
[324]: http://www.catonmat.net/archive/2009/05 "All articles written in May, 2009"
[325]: http://www.catonmat.net/archive/2009/04 "All articles written in April, 2009"
[326]: http://www.catonmat.net/archive/2009/03 "All articles written in March, 2009"
[327]: http://www.catonmat.net/archive/2009/02 "All articles written in February, 2009"
[328]: http://www.catonmat.net/archive/2009/01 "All articles written in January, 2009"
[329]: http://www.catonmat.net/archive/2008/12 "All articles written in December, 2008"
[330]: http://www.catonmat.net/archive/2008/11 "All articles written in November, 2008"
[331]: http://www.catonmat.net/archive/2008/10 "All articles written in October, 2008"
[332]: http://www.catonmat.net/archive/2008/09 "All articles written in September, 2008"
[333]: http://www.catonmat.net/archive/2008/08 "All articles written in August, 2008"
[334]: http://www.catonmat.net/archive/2008/07 "All articles written in July, 2008"
[335]: http://www.catonmat.net/archive/2008/06 "All articles written in June, 2008"
[336]: http://www.catonmat.net/archive/2008/05 "All articles written in May, 2008"
[337]: http://www.catonmat.net/archive/2008/04 "All articles written in April, 2008"
[338]: http://www.catonmat.net/archive/2008/03 "All articles written in March, 2008"
[339]: http://www.catonmat.net/archive/2008/02 "All articles written in February, 2008"
[340]: http://www.catonmat.net/archive/2008/01 "All articles written in January, 2008"
[341]: http://www.catonmat.net/archive/2007/12 "All articles written in December, 2007"
[342]: http://www.catonmat.net/archive/2007/11 "All articles written in November, 2007"
[343]: http://www.catonmat.net/archive/2007/10 "All articles written in October, 2007"
[344]: http://www.catonmat.net/archive/2007/09 "All articles written in September, 2007"
[345]: http://www.catonmat.net/archive/2007/08 "All articles written in August, 2007"
[346]: http://www.catonmat.net/archive/2007/07 "All articles written in July, 2007"
[347]: http://www.catonmat.net/static/img/jelly-stains.gif
[348]: http://www.catonmat.net/advertise
[349]: http://c.statcounter.com/3189873/0/dc7255a7/1/
[350]: https://www.facebook.com/tr?id=1256130351091056&ev=PageView&noscript=1

