Skip to content

Guess what app is already running in port 3000 #441

Closed
@vjeux

Description

@vjeux

https://twitter.com/somebody32/status/764805492505997312

Would be nice to go one step further and give the name of the process that is using port 3000. Otherwise the next step is going to be to google how to figure out what is running on a port, which is a bit annoying and we can solve for the user :)

Activity

gaearon

gaearon commented on Aug 14, 2016

@gaearon
Contributor

Oh, that would be really cool 👍

vjeux

vjeux commented on Aug 14, 2016

@vjeux
ContributorAuthor

On MacOS, you can do

  1. Get the PID of the process that listens on port 3000
> lsof -P | grep TCP | grep :3000
node      36663 vjeux   22u    IPv6 0x3c581a030a2b0e47        0t0     TCP *:3000 (LISTEN)
  1. Get the command that started it
> ps -o command -p 36663
COMMAND
node /Users/vjeux/random/test/node_modules/react-scripts/scripts/start.js

I'm not going to implement it, so if anybody feels like it, please grab this task, should be a good first task and pretty impactful :)

millerm

millerm commented on Aug 14, 2016

@millerm

Looking for a first task to try. Would it be alright if I gave it a shot? @vjeux

vjeux

vjeux commented on Aug 14, 2016

@vjeux
ContributorAuthor

@millerm absolutely, go for it!

lacker

lacker commented on Aug 16, 2016

@lacker
Contributor

I'm guessing in most cases it is another copy of a create-react-app app.

chhuang

chhuang commented on Aug 16, 2016

@chhuang

Rails' default port is on 3000 too.

clessg

clessg commented on Aug 22, 2016

@clessg

This command runs much faster for me:

lsof -i -n -P | grep TCP | grep :3000

The -i option restricts output to opened network connections rather than all open files. -n shows IP addresses, if applicable, rather than host names. Both of these options result in much faster execution.

clessg

clessg commented on Aug 22, 2016

@clessg

By the way, to get the raw process number, you can use the -t option:

lsof -i:3000 -P -t

So:

ps -o command -p "$(lsof -i:3000 -P -t)"

(In this case the -n option is not needed for performance, I believe.)

fleischie

fleischie commented on Sep 3, 2016

@fleischie

losf is no standard command in every Linux distro (not on mine anyways). ss should be installed though. (Tested on fairly updated Arch, Debian and Ubuntu Distros.)

talkingtab

talkingtab commented on Sep 11, 2016

@talkingtab

Getting process information may be OS specific. An alternative way to solve this problem is to document the process of specifying a port. For example changing package.json to:
"startport": "PORT=4444 npm run start",
"start": "react-scripts start",
Will start the webpack dev server on port 4444

ianmcnally

ianmcnally commented on Nov 22, 2016

@ianmcnally
Contributor

#816 was just merged, so I believe this can be closed now.

added this to the 0.8.0 milestone on Nov 23, 2016
locked and limited conversation to collaborators on Jan 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @talkingtab@chhuang@lacker@vjeux@fson

        Issue actions

          Guess what app is already running in port 3000 · Issue #441 · facebook/create-react-app