Ini adalah proses yang ingin saya bunuh:
sooorajjj@Treako ~/Desktop/MerkMod $ sudo netstat -tunap | grep :80
tcp6 0 0 :::80 :::* LISTEN 20570/httpd
Ada beberapa cara untuk menemukan proses yang sedang berjalan menggunakan port.
Menggunakan fuser itu akan memberikan PID (s) dari beberapa instance yang terkait dengan port mendengarkan.
sudo apt-get install psmisc
sudo fuser 80/tcp
80/tcp: 1858 1867 1868 1869 1871
Setelah mengetahuinya, Anda dapat menghentikan atau membunuh prosesnya.
Anda juga dapat menemukan PID dan detail lainnya menggunakan lsof
sudo lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1858 root 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1867 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1868 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1869 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
nginx 1871 www-data 6u IPv4 5043 0t0 TCP ruir.mxxx.com:http (LISTEN)
Untuk membatasi pada soket yang mendengarkan pada port 80 (berbeda dengan klien yang terhubung ke port 80):
sudo lsof -i tcp:80 -s tcp:listen
Untuk membunuh mereka secara otomatis:
sudo lsof -t -i tcp:80 -s tcp:listen | sudo xargs kill
-k
saklar untuk membunuh semua proses pencocokan, dan-i
untuk membunuh secara interaktif (meminta Anda untuk masing-masing).Berikut adalah oneliner yang menunjukkan perintah untuk menjalankan:
Ganti
echo
olehsudo
untuk proses untuk benar-benar dibunuh.sumber
echo
untuksudo
80
.Tiga opsi untuk daftar port terbuka ditawarkan dalam jsh 's
whatisonport
:Saya lebih suka
netstat
karena cepat, ringkas, dan bisa daftar port yang dibuka oleh pengguna lain. (Meskipun masih akan membutuhkan hak pengguna super / pengguna untuk mendaftar nama dan PID dari proses tersebut.)Keluaran
Penggunaan
grep
dalam dua kasus adalah untuk mencocokkan hanya port di sisi lokal, dan melewatkan koneksi terbuka ke port jarak jauh 80. (Alternatif akan digunakan-l
dengannetstat
, atau denganlsof
menggunakan-sTCP:LISTEN
, tapi saya suka greps di atas karena mereka akan juga menangkap koneksi keluar dari port yang diberikan, yang kadang-kadang mungkin menarik.)Dengan
lsof
kita gunakan-P
untuk menampilkan:80
bukan:http
untuk memungkinkan grep. The-S 2
pasukan pilihanlsof
untuk menyelesaikan secara tepat waktu.Membunuh prosesnya
Dengan asumsi kami ingin menggunakan
netstat
, kami dapat mengambil PID seperti ini:Dan kami bahkan dapat meneruskan PID tersebut ke
kill
:Namun sering ada potensi false positive ketika menggunakan regexps, jadi saya akan merekomendasikan hanya melihat output awal
netstat
dan kemudian secara manual memutuskan apakah akan berjalan atau tidak:Lihat juga
Saya memiliki skrip lain yang disebut
listopenports
yang mungkin menarik.sumber
Anda sudah menemukan proses untuk dibunuh: nomor prosesnya
20570
dan binernya memiliki namahttpd
seperti yang tertulis di akhir baris keluarannetstat
. Anda dapat membunuhnya dengan nomorkill 20570
atau namakillall httpd
tetapi saya tidak akan merekomendasikan untuk melakukannya dengan cara itu.Port yang lebih rendah dari 1024 memiliki penggunaan standar (biasanya), Anda dapat melihatnya dan banyak lainnya
less /etc/services
. Entri untuk port 80 bahkan berkomentar:Jadi kemungkinan besar server web. Nama yang Anda miliki adalah
httpd
danman httpd
harus memberi Anda petunjuk besar bahwa itu adalah biner Apache yang cocok. Apache adalah salah satu pemain besar, ia memiliki beberapa program manajemen yang nyaman tetapi Anda tidak memerlukannya hanya untuk memulai / menghentikan tindakan.Anda punya Mint? Dengan desktop normal? Kemudian lihat di
Control Center
bawahSystem
dan klikServices
. Anda harus menjadi admin untuk melakukan apa pun di sana. Gulir ke bawah hingga Anda menemukan sesuatu yang berlabel "server web" (Saya menggunakan lighttpd bukan Apache dan tidak tahu persis seperti apa tampilan Apache) dan hapus centang.Jika Anda hanya ingin menghentikannya, cobalah untuk sementara waktu, di konsol
dan mulai dengan
sudo service start httpd
.service --status-all
mengembalikan daftar semua layanan yangservice
tahu dan dapat menangani. Pintasan untuk memulai kembali suatu layanan (yaitu: berhenti dan mulai dengan urutan itu) adalahservice --full-restart SERVICE
denganSERVICE
menjadi nama layanan, misalnya .:httpd
dalam kasus Apache.Sebagian besar program yang Anda temukan
netstat
dapat ditangani dengan cara itu. Beberapa tidak dapat dan beberapa bahkan tidak memiliki halaman manual tetapi jarang.sumber
Ada cara sederhana untuk melakukan ini. Pertama periksa proses mana yang menggunakan port 80 oleh netstat :
Sekarang Anda mendapatkan nama proses dan membunuh proses dengan perintah killall :
sumber
killall
tanpa penjelasan atau peringatan.