TCPServer 오류 : 주소가 이미 사용 중입니다. bind (2)
Jekyll은 몇 주 전에 잘 작동했지만 갑자기 다음과 같은 오류가 발생합니다.
TCPServer Error: Address already in use - bind(2)
INFO WEBrick::HTTPServer#start: pid=7300 port=4000
% lsof -i :4000
<fetches nothing>
포트에서 아무것도 실행되지 않더라도. 다음은 세부 사항입니다.
% jekyll --version
Jekyll 0.11.2
% where jekyll
/home/bhaarat/.rvm/gems/ruby-1.9.2-p290/bin/jekyll
/usr/bin/jekyll
% ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
% rvm --version
rvm 1.10.0
다음은 출력입니다.
% jekyll --server
Configuration from /home/bhaarat/blog/omnipresent.github.com/_config.yml
Auto-regenerating enabled: /home/bhaarat/blog/omnipresent.github.com -> /home/bhaarat/blog/omnipresent.github.com/_site
[2012-04-21 13:46:40] regeneration: 38 files changed
[2012-04-21 13:46:40] INFO WEBrick 1.3.1
[2012-04-21 13:46:40] INFO ruby 1.9.2 (2011-07-09) [i686-linux]
[2012-04-21 13:46:40] WARN TCPServer Error: Address already in use - bind(2)
[2012-04-21 13:46:40] INFO WEBrick::HTTPServer#start: pid=7382 port=4000
주소가 사용 중이 아니며 다른 이유로 인해 jekyll이 중단되었지만 해당 오류가 발생한다는 것을 알고 있습니다. 내 옵션은 무엇입니까? 재설치도 시도했습니다.
터미널에 입력하여 3000 포트를 사용하는 프로세스의 PID를 찾으십시오.
$ lsof -wni tcp:3000
그런 다음 PID 열의 번호를 사용하여 프로세스를 종료합니다.
$ kill -9 PID
댓글을 올릴 자격이 없습니다. 그래서 새로운 답변을 추가했습니다.
Mac OS X 10.10.3에서이 문제가 발생했습니다. 그리고 전에 Jekyll을 설치 / 사용한 적이 없습니다. 기본 포트 번호 4000으로 jekyll 서버를 시작할 수 없었습니다. 그 이유는 포트가 NoMachine이 사용하는 것과 동일했기 때문입니다. 와
$ sudo lsof -wni tcp:4000
참고 :없이이 명령을 실행하면 sudo
출력이 없습니다.
이 출력을 보았습니다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nxd 449 nx 3u IPv4 0x8d22************ 0t0 TCP *:terabase (LISTEN)
nxd 449 nx 4u IPv6 0x8d22************ 0t0 TCP *:terabase (LISTEN)
포트 4000은 nxd
NoMachine에 의해 시작된 프로세스 인에 의해 점유되었습니다 . 과
$ sudo kill -9 449
NoMachine의 nxd 프로세스가 새 PID로 계속 다시 시작되기 때문에 작동하지 않습니다.
따라서 다음 중 하나를 수행해야했습니다.
사이트의 내 jekyll 서버 포트
_config.yml
를 다른 예비 포트로 변경했습니다 . 나는 아래 줄을 추가했고_config.yml
작동했습니다.port: 3000 # change server port to 3000
또는
- NoMachine의 기본 nxd 포트 변경 또는 NoMachine 제거
Ctrl-Z
프로그램을 종료하지 않고 중지하고 백그라운드로 보냅니다. "fg"명령으로 프로그램을 재개 할 수 있습니다. 실제로 종료하려면 Ctrl-C
.
The actual error message seems to be bogus and can be ignored. I am getting the same error message "address in use" but jekyll works fine anyway at the expected port.
I have met this problem recently.
I tried out all the method mentioned above, and even restarted my computer, but still couldn't solve it!!! Then I removed the jekyll and installed a new version, it just worked.
gem uninstall jekyll & gem install jekyll
(maybe you need super user priviledge).
If you really get annoyed with similar bugs, this sb method is worth a try...
work around
in /_site
run: python -m SimpleHTTPServer 8080
Check that you don't have another terminal open where you are already running a server. If that is the case, do a CTRL-C to shutdown the server, and that will free the port/address.
First you need to find PID of the process that's using the 3000 port:
$ps -ef
Output Like this:
1003 4953 2614 0 08:51 pts/0 00:00:00 -bash
1003 5634 1 0 08:56 pts/0 00:00:00 spring server | moviestore | started 2 hours ago
1003 5637 5634 0 08:56 ? 00:00:01 spring app | moviestore | started 2 hours ago | development mode
1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]
1003 6117 2614 0 09:03 pts/1 00:00:00 -bash
root 6520 2 0 09:57 ? 00:00:00 [kworker/u8:2]
root 6936 1225 0 11:09 ? 00:00:00 [lightdm] <defunct>
1003 7084 1 0 11:09 ? 00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
1003 7475 1 0 11:10 ? 00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
root 8739 1225 1 11:29 tty8 00:00:11 /usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
root 8853 1225 0 11:29 ? 00:00:00 lightdm --session-child 13 22
1002 8943 1 0 11:30 ? 00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login
1002 8954 8853 0 11:30 ? 00:00:00 gnome-session --session=ubuntu
1002 8992 8954 0 11:30 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002 8995 1 0 11:30 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002 8996 1 0 11:30 ? 00:00:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
1002 9007 8954 0 11:30 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
1002 9015 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfsd
1002 9018 8954 1 11:30 ? 00:00:07 compiz
1002 9021 1 0 11:30 ? 00:00:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
1002 9028 8954 0 11:30 ? 00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1002 9029 8954 0 11:30 ? 00:00:01 nautilus -n
1002 9030 8954 0 11:30 ? 00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
1002 9031 8954 0 11:30 ? 00:00:00 nm-applet
1002 9032 8954 0 11:30 ? 00:00:02 /opt/mTrac/mTrac
1002 9033 8954 0 11:30 ? 00:00:00 bluetooth-applet
1002 9045 9032 0 11:30 ? 00:00:00 /opt/mTrac/mTrac --type=zygote --no-sandbox
1002 9050 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor
1002 9054 1 0 11:30 ? 00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
1002 9057 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1002 9062 1 0 11:30 ? 00:00:00 /usr/lib/gvfs/gvfs-afc-volume-monitor
here you can see :
1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]
localhost:3000 have pid: 6078
kill that process by
$sudo kill 6078
then run
$rails s
참고URL : https://stackoverflow.com/questions/10261477/tcpserver-error-address-already-in-use-bind2
'Programing' 카테고리의 다른 글
Java에서 폴더 삭제 (0) | 2020.09.08 |
---|---|
루비 로거 로그 출력을 파일뿐만 아니라 stdout에 어떻게 할 수 있습니까? (0) | 2020.09.08 |
두 목록의 공통 요소 (0) | 2020.09.08 |
자바 논리 연산자 단락 (0) | 2020.09.08 |
Kubernetes에서 컨테이너를 계속 실행하려면 어떻게해야합니까? (0) | 2020.09.08 |