A free, powerful, multi-purpose tool that helps you monitor system resources,
debug software and detect malware.

Main features

A detailed overview of system activity with highlighting.

Main window

Graphs and statistics allow you quickly to track down resource hogs and runaway processes.

System information summary

Tip: Use Ctrl+I to view system performance information. Move your cursor over a graph to get a tooltip with information about the data point under your cursor. You can double-click the graph to see information about the process at that data point, even if the process is no longer running.

Can't edit or delete a file? Discover which processes are using that file.

Find handles

Tip: Use Ctrl+F to search for a handle or DLL. If all else fails, you can right-click an entry and close the handle associated with the file. However, this should only be used as a last resort and can lead to data loss and corruption.

See what programs have active network connections, and close them if necessary.

Network connections

Get real-time information on disk access.

Disk tab

Tip: This may look very similar to the Disk Activity feature in Resource Monitor, but Process Hacker has a few more features!

Advanced features

View detailed stack traces with kernel-mode, WOW64 and .NET support.

Stack trace

Tip: Hover your cursor over the first column (with the numbers) to view parameter and line number information when available.

Go beyond services.msc: create, edit and control services.

Service properties

Tip: By default, Process Hacker shows entries for drivers in addition to normal user-mode services. You can turn this off by checking View > Hide Driver Services.

And much more...

Service properties

Other additions

Many of you have probably used Process Explorer in the past. Process Hacker has several advantages:

  • Process Hacker allows you to copy data by simply pressing Ctrl+C.
  • Process Hacker is open source and can be modified or redistributed.
  • Process Hacker does not have several year old bugs that still remain unfixed.
  • Process Hacker is more customizable.
  • Process Hacker shows symbolic access masks (e.g. Read, Write), rather than just numbers (e.g. 0x12019f).

Download >


Latest News

Failed to connect to MySQL: " . mysqli_connect_error()."

"; } else { $sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username, u.user_colour FROM $table_topics t, $table_forums f, $table_posts p, $table_users u WHERE t.topic_id = p.topic_id AND f.forum_id = t.forum_id AND t.forum_id = 1 AND t.topic_status <> 2 AND p.post_id = t.topic_last_post_id AND p.poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber"; if ($result = mysqli_query($conn, $sql)) { while ($row = mysqli_fetch_array($result)) { $topic_title = $row["topic_title"]; $author_name = $row["username"]; $author_colour = $row["user_colour"]; $post_time = $row["post_time"]; $post_local_time = date("F jS, Y, g:i a", $post_time); $post_date = get_time_ago($post_time); $post_id = $row["post_id"]; $author_link = "http://processhacker.sourceforge.net/forums/memberlist.php?mode=viewprofile&u=".$row["user_id"]; $post_link = "http://processhacker.sourceforge.net/forums/viewtopic.php?p=".$post_id."#p".$post_id; echo "
{$topic_title} by {$author_name}
{$post_date} - {$post_local_time}
"; } mysqli_free_result($result); } } ?>

Forum Activity

Failed to connect to MySQL: ".mysqli_connect_error()."

"; } else { $sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username, u.user_colour FROM $table_topics t, $table_forums f, $table_posts p, $table_users u WHERE t.topic_id = p.topic_id AND t.topic_approved = 1 AND f.forum_id = t.forum_id AND t.forum_id != 1 AND t.forum_id != 7 AND t.topic_status <> 2 AND p.post_approved = 1 AND p.post_id = t.topic_last_post_id AND p.poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber"; if ($result = mysqli_query($conn, $sql)) { while ($row = mysqli_fetch_array($result)) { $topic_title = $row["topic_title"]; $author_name = $row["username"]; $author_colour = $row["user_colour"]; $post_time = $row["post_time"]; $post_local_time = date("F jS, Y, g:i a", $post_time); $post_date = get_time_ago($post_time); $post_id = $row["post_id"]; $author_link = "http://processhacker.sourceforge.net/forums/memberlist.php?mode=viewprofile&u=".$row["user_id"]; $post_link = "http://processhacker.sourceforge.net/forums/viewtopic.php?p=".$post_id."#p".$post_id; echo "
{$topic_title} by {$author_name}
{$post_date} - {$post_local_time}
"; } mysqli_free_result($result); } } ?>

SVN Activity