Jekyll bekerja dengan baik untuk saya beberapa minggu yang lalu tetapi sekarang tiba-tiba saya mendapatkan kesalahan berikut:
TCPServer Error: Address already in use - bind(2)
INFO WEBrick::HTTPServer#start: pid=7300 port=4000
% lsof -i :4000
<fetches nothing>
Meskipun tidak ada yang berjalan di port tersebut. Berikut detailnya:
% 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
Ini hasilnya
% 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
Saya tahu alamatnya tidak digunakan dan jekyll mungkin rusak karena beberapa alasan lain selain melemparkan kesalahan itu. Apa saja pilihan saya? Saya juga sudah mencoba menginstal ulang.
lsof -i :<port number>
dan hal yang sama terjadi di kotak yang berbedagem uninstall jekyll
. Jika Anda tidak mungkin menginstal dengan gem untuk menimpa versi yang ada. Apakah Anda mencoba menekan port dengan browser atau telnet Anda untuk melihat apakah itu memberikan bantuan?Jawaban:
Ketik ini di terminal Anda untuk mengetahui PID dari proses yang menggunakan port 3000:
$ lsof -wni tcp:3000
Kemudian, gunakan nomor di kolom PID untuk menghentikan proses:
$ kill -9 PID
sumber
PID
dengan nomor aktual yang Anda lihat di bawah PID. misalnya, saya berlarikill -9 11734
Saya tidak memenuhi syarat untuk mengirim komentar. Jadi saya menambahkan jawaban baru.
Saya mengalami masalah ini di Mac OS X 10.10.3. Dan saya belum pernah memasang / menggunakan Jekyll sebelumnya. Saya tidak dapat menjalankan server jekyll dengan nomor port default 4000. Alasannya adalah port tersebut sama dengan yang digunakan NoMachine. Dengan
$ sudo lsof -wni tcp:4000
Catatan: Menjalankan perintah ini tanpa tidak
sudo
akan memiliki keluaran.Saya melihat keluaran ini:
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)
Port 4000 ditempati
nxd
, yang merupakan proses yang dimulai oleh NoMachine. Dan$ sudo kill -9 449
tidak akan berfungsi, karena proses nxd NoMachine akan terus dimulai ulang, dengan PID baru.
Oleh karena itu, saya harus:
Mengubah port server jekyll saya di situs
_config.yml
ke yang lain. Saya menambahkan baris di bawah_config.yml
dan berhasil.port: 3000 # change server port to 3000
atau
sumber
Ctrl-Z
tidak menghentikan program, melainkan menangguhkannya dan mengirimkannya ke latar belakang. Anda dapat melanjutkan program dengan perintah "fg". Untuk benar-benar menghentikannya, gunakanCtrl-C
.Pesan kesalahan sebenarnya tampaknya palsu dan dapat diabaikan. Saya mendapatkan pesan kesalahan yang sama "alamat sedang digunakan" tetapi jekyll berfungsi dengan baik di port yang diharapkan.
sumber
Saya telah menemui masalah ini baru-baru ini.
Saya mencoba semua metode yang disebutkan di atas, dan bahkan me-restart komputer saya, tetapi masih tidak bisa menyelesaikannya !!! Kemudian saya menghapus jekyll dan menginstal versi baru, itu berfungsi.
gem uninstall jekyll & gem install jekyll
(mungkin Anda membutuhkan hak istimewa pengguna super).Jika Anda benar-benar kesal dengan bug serupa, metode sb ini patut dicoba ...
sumber
kita dapat menggunakan perintah fuser
fuser -k 3000/tcp
sumber
Periksa apakah Anda tidak membuka terminal lain di mana Anda sudah menjalankan server. Jika demikian, lakukan CTRL-C untuk mematikan server, dan itu akan membebaskan port / alamat.
sumber
Pertama, Anda perlu menemukan PID dari proses yang menggunakan port 3000:
Output Seperti ini:
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
di sini Anda bisa melihat:
1003 6078 4953 0 09:03 pts/0 00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]
localhost: 3000 punya
pid: 6078
bunuh proses itu dengan
$sudo kill 6078
lalu lari
sumber
bekerja di sekitar
dalam
/_site
menjalankan:python -m SimpleHTTPServer 8080
sumber