{"id":681,"date":"2026-11-10T10:58:12","date_gmt":"2026-11-10T10:58:12","guid":{"rendered":"https:\/\/getserverexplorer.app\/?p=681"},"modified":"2026-11-08T11:37:54","modified_gmt":"2026-11-08T11:37:54","slug":"kill-process-on-port-linux","status":"publish","type":"post","link":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/","title":{"rendered":"How to Find and Kill a Process on a Port in Linux"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You start your Node.js app, and the terminal throws an error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Error: listen EADDRINUSE: address already in use :::3000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Something is already listening on port <strong>3000<\/strong>. It might be an older instance of your app, a service managed by systemd, or a Docker container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s how to find the process, stop it safely, and avoid the same problem next time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Find Which Process Is Using the Port<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On most modern Linux servers, <code>ss<\/code> is a good place to start:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ss -ltnp '( sport = :3000 )'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The output shows listening TCP sockets, including the local address and, when available, the process name and PID. The <code>sudo<\/code> prefix helps reveal processes owned by other users.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also use <code>lsof<\/code> if it is installed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo lsof -nP -iTCP:3000 -sTCP:LISTEN<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Example output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>COMMAND   PID USER   FD   TYPE DEVICE SIZE\/OFF NODE NAME\nnode     2481 app    21u  IPv6  12345      0t0  TCP *:3000 (LISTEN)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Here, <strong>2481<\/strong> is the process ID (PID). Don&#8217;t kill it yet: first check what it is.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ps -fp 2481<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> If <code>ss<\/code> returns no listener, check that you are looking at the correct server and network namespace. A Docker-published port may be managed differently from a regular host process.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">2. Find the Port Visually in Server Explorer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you prefer a graphical view, connect to your VPS in <strong>Server Explorer<\/strong> and open <strong>Monitoring \u2192 Ports<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Ports tab shows listening addresses, protocols, associated commands, and PIDs where available. Use the search field to look for <code>3000<\/code>, an address, or a process name.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"images\/server-explorer-ports-monitor.png\" alt=\"Server Explorer v4.1.0 Ports tab showing listening TCP and UDP ports, processes, and PIDs\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-dominant-color=\"1c2125\" data-has-transparency=\"true\" style=\"--dominant-color: #1c2125;\" loading=\"lazy\" decoding=\"async\" width=\"2024\" height=\"1624\" src=\"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.45.webp\" alt=\"Server Explorer v4.1.0 Ports tab showing listening TCP and UDP ports, processes, and PIDs\n\" class=\"wp-image-682 has-transparency\" srcset=\"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.45.webp 2024w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.45-300x241.webp 300w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.45-1024x822.webp 1024w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.45-768x616.webp 768w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.45-1536x1232.webp 1536w\" sizes=\"auto, (max-width: 2024px) 100vw, 2024px\" \/><figcaption class=\"wp-element-caption\"><em>Server Explorer&#8217;s Ports view helps identify which process is associated with a listening port.<\/em><\/figcaption><\/figure>\n\n\n<div class=\"section-cta article-cta\" lang=\"en\">\n <svg class=\"cta-network\" viewBox=\"0 0 1000 320\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\" preserveAspectRatio=\"xMidYMid slice\">\n <g class=\"network-routes\" stroke=\"currentColor\" stroke-width=\"1\">\n  <path d=\"M1000 40H820L740 120H640L570 190H420\"\/><path d=\"M1000 130H880L780 230H630L560 300H390\"\/>\n  <path d=\"M1000 280H840L760 200V80L680 0\"\/><path d=\"M930 0V75L850 155H710L630 235H520\"\/>\n  <path d=\"M530 0L610 80H710L790 0\"\/><path d=\"M1000 190H940L865 265V320\"\/>\n <\/g>\n <g class=\"network-signal\" stroke=\"currentColor\" stroke-width=\"2\" stroke-dasharray=\"32 720\">\n  <path d=\"M1000 40H820L740 120H640L570 190H420\"\/><path d=\"M1000 130H880L780 230H630L560 300H390\"\/>\n <\/g>\n <g class=\"network-nodes\" stroke=\"currentColor\" stroke-width=\"1.2\">\n  <rect x=\"728\" y=\"108\" width=\"24\" height=\"24\" rx=\"7\"\/><rect x=\"768\" y=\"218\" width=\"24\" height=\"24\" rx=\"7\"\/>\n  <rect x=\"838\" y=\"143\" width=\"24\" height=\"24\" rx=\"7\"\/><circle cx=\"610\" cy=\"80\" r=\"5\"\/><circle cx=\"630\" cy=\"235\" r=\"5\"\/><circle cx=\"865\" cy=\"265\" r=\"5\"\/>\n <\/g>\n <g fill=\"currentColor\"><circle cx=\"740\" cy=\"120\" r=\"3\"\/><circle cx=\"780\" cy=\"230\" r=\"3\"\/><circle cx=\"850\" cy=\"155\" r=\"3\"\/><\/g>\n<\/svg>\n <div class=\"section-cta-copy\">\n  <span class=\"cta-eyebrow\"><span class=\"cta-connection\" aria-hidden=\"true\"><\/span>Server Explorer<\/span>\n  <h3>Bring your servers into focus.<\/h3>\n  <p>A desktop app for macOS and Windows. Connect over SSH.<\/p> <\/div>\n <a class=\"button cta-button\" data-download-auto data-download-mac=\"https:\/\/apps.apple.com\/bj\/app\/server-files-explorer\/id6474502110?l=fr-FR&#038;mt=12\" data-download-windows=\"https:\/\/apps.microsoft.com\/detail\/9nrb68w7pjg8?gl=US&#038;hl=en-US\" href=\"https:\/\/getserverexplorer.app\/#download\">Download<span class=\"cta-arrow\" aria-hidden=\"true\">\u2197<\/span><\/a>\n<\/div>\n\n\n\n\n<p class=\"wp-block-paragraph\">In the screenshot, the Ports view lists TCP and UDP entries and their PIDs. Its context menu includes actions to copy an address or port. <strong>It does not show a kill action in this view.<\/strong> Once you identify the PID, switch to <strong>Processes<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Stop the Process Safely<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you have confirmed that the process should be stopped, first try a normal termination signal:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kill 2481<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This sends <code>SIGTERM<\/code>, giving the process a chance to shut down gracefully. Verify that the port is free:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ss -ltnp '( sport = :3000 )'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the process ignores termination, investigate why before escalating. As a last resort:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kill -9 2481<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>SIGKILL<\/code> stops a process immediately and prevents graceful cleanup. Avoid it when a normal shutdown is possible.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stop a process with Server Explorer<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In <strong>Monitoring \u2192 Processes<\/strong>, search for the PID or command you identified in the Ports tab. Review the matching entry, then use the stop control if you&#8217;re sure it is the correct process.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"images\/server-explorer-process-monitor.png\" alt=\"Server Explorer v4.1.0 Processes tab showing searchable PIDs, commands, CPU and memory usage, and stop controls\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-dominant-color=\"1a1f23\" data-has-transparency=\"true\" style=\"--dominant-color: #1a1f23;\" loading=\"lazy\" decoding=\"async\" width=\"2024\" height=\"1624\" src=\"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.39.webp\" alt=\"Server Explorer v4.1.0 Processes tab showing searchable PIDs, commands, CPU and memory usage, and stop controls\" class=\"wp-image-683 has-transparency\" srcset=\"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.39.webp 2024w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.39-300x241.webp 300w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.39-1024x822.webp 1024w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.39-768x616.webp 768w, https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Capture-decran-2026-11-07-a-22.25.39-1536x1232.webp 1536w\" sizes=\"auto, (max-width: 2024px) 100vw, 2024px\" \/><figcaption class=\"wp-element-caption\"><em>Find a process by PID or command in Server Explorer&#8217;s Processes view before stopping it.<\/em><\/figcaption><\/figure>\n\n\n<div class=\"section-cta article-cta\" lang=\"en\">\n <svg class=\"cta-network\" viewBox=\"0 0 1000 320\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\" preserveAspectRatio=\"xMidYMid slice\">\n <g class=\"network-routes\" stroke=\"currentColor\" stroke-width=\"1\">\n  <path d=\"M1000 40H820L740 120H640L570 190H420\"\/><path d=\"M1000 130H880L780 230H630L560 300H390\"\/>\n  <path d=\"M1000 280H840L760 200V80L680 0\"\/><path d=\"M930 0V75L850 155H710L630 235H520\"\/>\n  <path d=\"M530 0L610 80H710L790 0\"\/><path d=\"M1000 190H940L865 265V320\"\/>\n <\/g>\n <g class=\"network-signal\" stroke=\"currentColor\" stroke-width=\"2\" stroke-dasharray=\"32 720\">\n  <path d=\"M1000 40H820L740 120H640L570 190H420\"\/><path d=\"M1000 130H880L780 230H630L560 300H390\"\/>\n <\/g>\n <g class=\"network-nodes\" stroke=\"currentColor\" stroke-width=\"1.2\">\n  <rect x=\"728\" y=\"108\" width=\"24\" height=\"24\" rx=\"7\"\/><rect x=\"768\" y=\"218\" width=\"24\" height=\"24\" rx=\"7\"\/>\n  <rect x=\"838\" y=\"143\" width=\"24\" height=\"24\" rx=\"7\"\/><circle cx=\"610\" cy=\"80\" r=\"5\"\/><circle cx=\"630\" cy=\"235\" r=\"5\"\/><circle cx=\"865\" cy=\"265\" r=\"5\"\/>\n <\/g>\n <g fill=\"currentColor\"><circle cx=\"740\" cy=\"120\" r=\"3\"\/><circle cx=\"780\" cy=\"230\" r=\"3\"\/><circle cx=\"850\" cy=\"155\" r=\"3\"\/><\/g>\n<\/svg>\n <div class=\"section-cta-copy\">\n  <span class=\"cta-eyebrow\"><span class=\"cta-connection\" aria-hidden=\"true\"><\/span>Server Explorer<\/span>\n  <h3>Bring your servers into focus.<\/h3>\n  <p>A desktop app for macOS and Windows. Connect over SSH.<\/p> <\/div>\n <a class=\"button cta-button\" data-download-auto data-download-mac=\"https:\/\/apps.apple.com\/bj\/app\/server-files-explorer\/id6474502110?l=fr-FR&#038;mt=12\" data-download-windows=\"https:\/\/apps.microsoft.com\/detail\/9nrb68w7pjg8?gl=US&#038;hl=en-US\" href=\"https:\/\/getserverexplorer.app\/#download\">Download<span class=\"cta-arrow\" aria-hidden=\"true\">\u2197<\/span><\/a>\n<\/div>\n\n\n\n\n<p class=\"wp-block-paragraph\">This is particularly useful when you manage several VPS instances and want to confirm which server and process you&#8217;re acting on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Important:<\/strong> Do not terminate system processes such as PID 1, <code>sshd<\/code>, or other critical services just because they appear in the list. Stopping the wrong process can interrupt your server or disconnect your SSH session.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. What If the Process Keeps Coming Back?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A process that immediately restarts is often being supervised. Killing its PID may only provide a temporary fix.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>systemd:<\/strong> Check the service and stop it through its manager:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status my-app.service\nsudo systemctl stop my-app.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PM2:<\/strong> If your Node.js app is managed by PM2, inspect its process list and stop the intended app:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pm2 list\npm2 stop my-app<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Run PM2 commands as the user that owns the PM2 process list.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Docker:<\/strong> Check running containers and stop the relevant container instead of blindly killing host PIDs:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps\ndocker stop my-container<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the container restarts, inspect its restart policy and logs. If port 3000 is published by Docker, check the container&#8217;s port mappings before changing anything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Prevent Port Conflicts Next Time<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A few habits help prevent repeated <code>EADDRINUSE<\/code> errors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use a process manager<\/strong> such as systemd or PM2 instead of launching duplicate background instances manually.<\/li>\n\n\n\n<li><strong>Document your ports<\/strong>, especially when multiple apps share one VPS.<\/li>\n\n\n\n<li><strong>Check existing listeners<\/strong> before changing a service&#8217;s port.<\/li>\n\n\n\n<li><strong>Stop services through their manager<\/strong> rather than repeatedly killing child processes.<\/li>\n\n\n\n<li><strong>Confirm the server context<\/strong> before stopping anything in production.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Final Thoughts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To fix an <strong>address already in use<\/strong> error on Linux, identify the listening port, inspect its PID, and stop the responsible process through the appropriate manager.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can do that with <code>ss<\/code>, <code>lsof<\/code>, and <code>kill<\/code>, or inspect <strong>Ports<\/strong> and <strong>Processes<\/strong> visually in Server Explorer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you regularly manage Linux VPS instances, <a href=\"https:\/\/getserverexplorer.app\">explore Server Explorer<\/a> to work with processes, services, Docker, and other server tools from one desktop application.<\/p>\n\n\n<div class=\"section-cta article-cta\" lang=\"en\">\n <svg class=\"cta-network\" viewBox=\"0 0 1000 320\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\" preserveAspectRatio=\"xMidYMid slice\">\n <g class=\"network-routes\" stroke=\"currentColor\" stroke-width=\"1\">\n  <path d=\"M1000 40H820L740 120H640L570 190H420\"\/><path d=\"M1000 130H880L780 230H630L560 300H390\"\/>\n  <path d=\"M1000 280H840L760 200V80L680 0\"\/><path d=\"M930 0V75L850 155H710L630 235H520\"\/>\n  <path d=\"M530 0L610 80H710L790 0\"\/><path d=\"M1000 190H940L865 265V320\"\/>\n <\/g>\n <g class=\"network-signal\" stroke=\"currentColor\" stroke-width=\"2\" stroke-dasharray=\"32 720\">\n  <path d=\"M1000 40H820L740 120H640L570 190H420\"\/><path d=\"M1000 130H880L780 230H630L560 300H390\"\/>\n <\/g>\n <g class=\"network-nodes\" stroke=\"currentColor\" stroke-width=\"1.2\">\n  <rect x=\"728\" y=\"108\" width=\"24\" height=\"24\" rx=\"7\"\/><rect x=\"768\" y=\"218\" width=\"24\" height=\"24\" rx=\"7\"\/>\n  <rect x=\"838\" y=\"143\" width=\"24\" height=\"24\" rx=\"7\"\/><circle cx=\"610\" cy=\"80\" r=\"5\"\/><circle cx=\"630\" cy=\"235\" r=\"5\"\/><circle cx=\"865\" cy=\"265\" r=\"5\"\/>\n <\/g>\n <g fill=\"currentColor\"><circle cx=\"740\" cy=\"120\" r=\"3\"\/><circle cx=\"780\" cy=\"230\" r=\"3\"\/><circle cx=\"850\" cy=\"155\" r=\"3\"\/><\/g>\n<\/svg>\n <div class=\"section-cta-copy\">\n  <span class=\"cta-eyebrow\"><span class=\"cta-connection\" aria-hidden=\"true\"><\/span>Server Explorer<\/span>\n  <h3>Bring your servers into focus.<\/h3>\n  <p>A desktop app for macOS and Windows. Connect over SSH.<\/p> <\/div>\n <a class=\"button cta-button\" data-download-auto data-download-mac=\"https:\/\/apps.apple.com\/bj\/app\/server-files-explorer\/id6474502110?l=fr-FR&#038;mt=12\" data-download-windows=\"https:\/\/apps.microsoft.com\/detail\/9nrb68w7pjg8?gl=US&#038;hl=en-US\" href=\"https:\/\/getserverexplorer.app\/#download\">Download<span class=\"cta-arrow\" aria-hidden=\"true\">\u2197<\/span><\/a>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>You start your Node.js app, and the terminal throws an error: Something is already listening on port 3000. It might be an older instance of your app, a service managed by systemd, or a Docker container. Here&#8217;s how to find the process, stop it safely, and avoid the same problem next time. 1. Find Which [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":684,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[208,100],"tags":[82,206,202,200],"class_list":["post-681","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-troubleshooting","category-uncategorized-en","tag-linux","tag-process-management","tag-ssh-2","tag-vps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Find and Kill a Process on a Port in Linux - Server Explorer<\/title>\n<meta name=\"description\" content=\"Learn how to find and kill a process using a port on Linux with ss, lsof, and kill. Fix address already in use errors on your VPS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Find and Kill a Process on a Port in Linux - Server Explorer\" \/>\n<meta property=\"og:description\" content=\"Learn how to find and kill a process using a port on Linux with ss, lsof, and kill. Fix address already in use errors on your VPS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"Server Explorer\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-10T10:58:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Server-Explorer_-Port-Conflict-Visualized.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"darrellkidjo.dev\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@darrell_kidjo\" \/>\n<meta name=\"twitter:site\" content=\"@darrell_kidjo\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"darrellkidjo.dev\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/\"},\"author\":{\"name\":\"darrellkidjo.dev\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#\\\/schema\\\/person\\\/20f67c2affa11693453fec19477c9ec8\"},\"headline\":\"How to Find and Kill a Process on a Port in Linux\",\"datePublished\":\"2026-11-10T10:58:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/\"},\"wordCount\":698,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/getserverexplorer.app\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Server-Explorer_-Port-Conflict-Visualized.webp\",\"keywords\":[\"linux\",\"process management\",\"ssh\",\"vps\"],\"articleSection\":[\"Linux \\\/ Troubleshooting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/\",\"url\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/\",\"name\":\"How to Find and Kill a Process on a Port in Linux - Server Explorer\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/getserverexplorer.app\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Server-Explorer_-Port-Conflict-Visualized.webp\",\"datePublished\":\"2026-11-10T10:58:12+00:00\",\"description\":\"Learn how to find and kill a process using a port on Linux with ss, lsof, and kill. Fix address already in use errors on your VPS.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#primaryimage\",\"url\":\"https:\\\/\\\/getserverexplorer.app\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Server-Explorer_-Port-Conflict-Visualized.webp\",\"contentUrl\":\"https:\\\/\\\/getserverexplorer.app\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/Server-Explorer_-Port-Conflict-Visualized.webp\",\"width\":1672,\"height\":941},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/2026\\\/11\\\/10\\\/kill-process-on-port-linux\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/getserverexplorer.app\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Find and Kill a Process on a Port in Linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#website\",\"url\":\"https:\\\/\\\/getserverexplorer.app\\\/\",\"name\":\"Server Explorer\",\"description\":\"Server Explorer SSH client - SFTP Explorer, VPS Security, terminal, Ai Integrated, Cron Management, Docker Manager for Linux servers on Mac and Windows\",\"publisher\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#organization\"},\"alternateName\":\"Server Files Explorer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/getserverexplorer.app\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#organization\",\"name\":\"Server Explorer\",\"alternateName\":\"Server Files Explorer\",\"url\":\"https:\\\/\\\/getserverexplorer.app\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/getserverexplorer.app\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/OIG.P8HQiZbb_YxAtGo_Pkmw-removebg-preview.png\",\"contentUrl\":\"https:\\\/\\\/getserverexplorer.app\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/OIG.P8HQiZbb_YxAtGo_Pkmw-removebg-preview.png\",\"width\":500,\"height\":500,\"caption\":\"Server Explorer\"},\"image\":{\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/darrell_kidjo\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/darrell-kidjo-ab49381a3\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/getserverexplorer.app\\\/#\\\/schema\\\/person\\\/20f67c2affa11693453fec19477c9ec8\",\"name\":\"darrellkidjo.dev\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/475cdf09b61eef7d56e50d2142844c4b668e33b2dd5202b6d97932ea1441fc7a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/475cdf09b61eef7d56e50d2142844c4b668e33b2dd5202b6d97932ea1441fc7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/475cdf09b61eef7d56e50d2142844c4b668e33b2dd5202b6d97932ea1441fc7a?s=96&d=mm&r=g\",\"caption\":\"darrellkidjo.dev\"},\"sameAs\":[\"https:\\\/\\\/getserverexplorer.app\"],\"url\":\"https:\\\/\\\/getserverexplorer.app\\\/index.php\\\/author\\\/darrellkidjo-dev\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Find and Kill a Process on a Port in Linux - Server Explorer","description":"Learn how to find and kill a process using a port on Linux with ss, lsof, and kill. Fix address already in use errors on your VPS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/","og_locale":"en_US","og_type":"article","og_title":"How to Find and Kill a Process on a Port in Linux - Server Explorer","og_description":"Learn how to find and kill a process using a port on Linux with ss, lsof, and kill. Fix address already in use errors on your VPS.","og_url":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/","og_site_name":"Server Explorer","article_published_time":"2026-11-10T10:58:12+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Server-Explorer_-Port-Conflict-Visualized.webp","type":"image\/png"}],"author":"darrellkidjo.dev","twitter_card":"summary_large_image","twitter_creator":"@darrell_kidjo","twitter_site":"@darrell_kidjo","twitter_misc":{"Written by":"darrellkidjo.dev","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#article","isPartOf":{"@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/"},"author":{"name":"darrellkidjo.dev","@id":"https:\/\/getserverexplorer.app\/#\/schema\/person\/20f67c2affa11693453fec19477c9ec8"},"headline":"How to Find and Kill a Process on a Port in Linux","datePublished":"2026-11-10T10:58:12+00:00","mainEntityOfPage":{"@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/"},"wordCount":698,"commentCount":0,"publisher":{"@id":"https:\/\/getserverexplorer.app\/#organization"},"image":{"@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Server-Explorer_-Port-Conflict-Visualized.webp","keywords":["linux","process management","ssh","vps"],"articleSection":["Linux \/ Troubleshooting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/","url":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/","name":"How to Find and Kill a Process on a Port in Linux - Server Explorer","isPartOf":{"@id":"https:\/\/getserverexplorer.app\/#website"},"primaryImageOfPage":{"@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#primaryimage"},"image":{"@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Server-Explorer_-Port-Conflict-Visualized.webp","datePublished":"2026-11-10T10:58:12+00:00","description":"Learn how to find and kill a process using a port on Linux with ss, lsof, and kill. Fix address already in use errors on your VPS.","breadcrumb":{"@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#primaryimage","url":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Server-Explorer_-Port-Conflict-Visualized.webp","contentUrl":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2026\/11\/Server-Explorer_-Port-Conflict-Visualized.webp","width":1672,"height":941},{"@type":"BreadcrumbList","@id":"https:\/\/getserverexplorer.app\/index.php\/2026\/11\/10\/kill-process-on-port-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/getserverexplorer.app\/"},{"@type":"ListItem","position":2,"name":"How to Find and Kill a Process on a Port in Linux"}]},{"@type":"WebSite","@id":"https:\/\/getserverexplorer.app\/#website","url":"https:\/\/getserverexplorer.app\/","name":"Server Explorer","description":"Server Explorer SSH client - SFTP Explorer, VPS Security, terminal, Ai Integrated, Cron Management, Docker Manager for Linux servers on Mac and Windows","publisher":{"@id":"https:\/\/getserverexplorer.app\/#organization"},"alternateName":"Server Files Explorer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/getserverexplorer.app\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/getserverexplorer.app\/#organization","name":"Server Explorer","alternateName":"Server Files Explorer","url":"https:\/\/getserverexplorer.app\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/getserverexplorer.app\/#\/schema\/logo\/image\/","url":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2024\/01\/OIG.P8HQiZbb_YxAtGo_Pkmw-removebg-preview.png","contentUrl":"https:\/\/getserverexplorer.app\/wp-content\/uploads\/2024\/01\/OIG.P8HQiZbb_YxAtGo_Pkmw-removebg-preview.png","width":500,"height":500,"caption":"Server Explorer"},"image":{"@id":"https:\/\/getserverexplorer.app\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/darrell_kidjo","https:\/\/www.linkedin.com\/in\/darrell-kidjo-ab49381a3\/"]},{"@type":"Person","@id":"https:\/\/getserverexplorer.app\/#\/schema\/person\/20f67c2affa11693453fec19477c9ec8","name":"darrellkidjo.dev","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/475cdf09b61eef7d56e50d2142844c4b668e33b2dd5202b6d97932ea1441fc7a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/475cdf09b61eef7d56e50d2142844c4b668e33b2dd5202b6d97932ea1441fc7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/475cdf09b61eef7d56e50d2142844c4b668e33b2dd5202b6d97932ea1441fc7a?s=96&d=mm&r=g","caption":"darrellkidjo.dev"},"sameAs":["https:\/\/getserverexplorer.app"],"url":"https:\/\/getserverexplorer.app\/index.php\/author\/darrellkidjo-dev\/"}]}},"_links":{"self":[{"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/posts\/681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/comments?post=681"}],"version-history":[{"count":1,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/posts\/681\/revisions"}],"predecessor-version":[{"id":685,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/posts\/681\/revisions\/685"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/media\/684"}],"wp:attachment":[{"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/media?parent=681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/categories?post=681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getserverexplorer.app\/index.php\/wp-json\/wp\/v2\/tags?post=681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}