Cara membunuh proses pada port di ubuntu


488

Saya mencoba untuk mematikan proses di baris perintah untuk port tertentu di ubuntu.

Jika saya menjalankan perintah ini saya mendapatkan port:

sudo lsof -t -i:9001

jadi ... sekarang saya ingin menjalankan:

sudo kill 'sudo lsof -t -i:9001'

Saya mendapatkan pesan kesalahan ini:

ERROR: garbage process ID "lsof -t -i:9001".
Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal            Convert between signal numbers and names.

Saya mencoba sudo kill 'lsof -t -i:9001'juga


9
FYI, pertanyaan Ubuntu memiliki peluang lebih baik untuk dijawab pada bagian Ubuntu dari jaringan StackExchange (StackOverflow): askubuntu.com
JScoobyCed

Jawaban:


900

Anda ingin menggunakan backtick bukan centang reguler:

sudo kill -9 `sudo lsof -t -i:9001`

Jika itu tidak berhasil, Anda juga bisa menggunakan $()interpolasi perintah:

sudo kill -9 $(sudo lsof -t -i:9001)

43
Anda lupa menambahkan opsi sinyal. Harus dibaca:sudo kill -9 $(sudo lsof -t -i:9001)
Francesco Gramano

7
@ FrancescoGramano: Anda tidak ingin menggunakan -9 kecuali Anda harus.
zellio

2
ketika sudo killtidak dapat mematikan prosesnya, metode @ putra.koreng bekerja dengan baik
Fangxin

3
jika di atas tidak berfungsi maka coba ini: stackoverflow.com/a/50515868/9339242
Arayan Singh

1
Apakah OS ini independen atau khusus untuk linux? Jika Linux spesifik maka, bahkan perintah ini berfungsios.system("fuser -k 8080/tcp");
Ridhuvarshan


78

UNTUK UBUNTU 1- Temukan aplikasi / proses apa yang menggunakan pro, ketik:

sudo netstat -lpn |grep :8080

dan tekan Enter.

Anda akan mendapatkan output yang mirip dengan ini

tcp6       0      0 :::8080                 :::*                    LISTEN      6782/java

2- Saya sudah mendapatkan proses ID, yaitu 6782, sekarang ini adalah proses yang menggunakan port 8080.

3 - Bunuh prosesnya, ketik: kill 6782

kill 6782

3
Jawaban singkat dan
tajam

1
Bekerja dengan sempurna
Tyler Bell

Bisakah Anda menuliskan bagaimana Anda menggunakan perintah di atas?
Mohit Singh

1
Bekerja dengan baik sementara perintah di asnwers dengan lebih banyak upvotes tidak ditemukan di server Ubuntu 18.04 saya. Terima kasih!
Salivan

38

Cara terbaik untuk membunuh port di terminal ubuntu adalah fuser -k 9001/tcp


3
Bekerja tanpa cacat untukku
Temui Zaveri

Ini juga berhasil untuk saya. Ini harus menjadi jawaban yang diterima.
CodeSlave

35

Ada beberapa proses yang tidak ditampilkan menggunakan perintah netstat normal, jadi Anda harus memeriksanya menggunakan sudo.

Lakukan sudo netstat -lpn |grep :8080. Proses yang berjalan dengan sistem tidak menunjukkan PID, untuk mendapatkan PID dari proses ini Anda harus menjalankannya menggunakansudo

Dan kemudian bunuh proses menggunakan port 8080. Anda mungkin harus menggunakan di sudosini juga. Jadi untuk mematikan proses ini gunakansudo kill -9 PID


19

Gunakan perintah killport :

sh killport 9001 

Untuk mengunduh shell, Anda dapat menggunakan wget:

wget https://cdn.rawgit.com/abdennour/miscs.sh/e0aac343/killport

1
jika tidak berfungsi, itu berarti port target sudah ditutup
Abdennour TOUMI

17

Untuk mematikan layanan port di ubuntu, Masukkan perintah di bawah ini di terminal

Di Terminal:

sudo fuser -k port/tcp
sudo fuser -k 8001/tcp

Sederhana ini bagus sekali.
Tri

15

Anda juga dapat menggunakan fuser untuk melakukan itu (mengirim SIGKILL secara default): sudo fuser -k 9001/tcp



12

Untuk mematikan proses yang berjalan pada nomor Port9001

sudo kill -9 $(sudo lsof -t -i:9001)


lsof   - list of files(Also used for to list related processes)

-t     - show only process ID

-i     - show only internet connections related process

:9001  - show only processes in this port number

kill   - command to kill the process

-9     - forcefully

sudo   - command to ask admin privilege(user id and password).

untuk lebih lanjut Anda dapat mengunjungi blog saya


11

Untuk mematikan proses berdasarkan port terlebih dahulu kita harus mencari pid yang relevan untuk port yang diberikan dan membunuh menggunakan pid itu,

Dalam kasus saya, saya ingin mendapatkan pid (proses id) dari 3000 port:

netstat -ltnp | grep -w '3000'

kemudian temukan pid yang sedang mendengarkan tcp

tcp6       0      0 :::3000                 :::*                    LISTEN      29972/node  

Anda akan mendapatkan pid 29972

Untuk mematikan pid ini gunakan perintah di bawah ini

kill -9 29972

kode pseudo untuk proses kill berdasarkan port

 netstat -ltnp | grep -w 'PORT'

dan

kill -9 PID


5

Bunuh PORT:

sudo Penting untuk menunjukkan id proses.

$ sudo netstat -antlp | grep 45136
tcp      0      0 0.0.0.0:45136         0.0.0.0:*        LISTEN           **-** 

$ kill -9 45136

5

Gunakan perintah

 netstat -plten |grep java

digunakan java grep sebagai kucing jantan menggunakan java sebagai proses mereka.

Ini akan menampilkan daftar proses dengan nomor port dan id proses

tcp6       0      0 :::8080                 :::*                    LISTEN      
1000       30070621    16085/java

angka sebelum / java adalah id proses. Sekarang gunakan perintah kill untuk mematikan proses

kill -9 16085

-9 menyiratkan proses akan dibunuh dengan paksa.


4

sudo fuser -n tcp -k [port_number]

sudo lsof -t -i: [port_number]


3

Gunakan ini untuk proses pembunuhan yang berjalan pada nomor port "9001"

 kill $(lsof -t -i:9001)

Redundan dengan contoh lain, termasuk jawaban yang diterima.
Kenster

3

Coba ini:

lsof -i :port

or 

sudo kill $(sudo lsof -t -i:8000)

or

kill -9 <pid>

or 

sh killport 8000

Saya menggunakan Ubuntu 17 dan kill -9 <pid>bekerja dengan baik untuk saya!
protoEvangelion

1
sudo kill `sudo lsof -t -i:9001`

Anda tidak perlu menambahkan -9opsi sinyal


1

Dua langkah prosesnya:

  1. Ketahui id proses pada port no. 8080 (dapat berupa apa saja)
  2. Bunuh proses id tersebut 8689 (bisa berbeda)

    fuser -n tcp 8080
    
    #o/p 8080/tcp    8689
    
    kill -9 8689
    


1

Menampilkan koneksi TCP aktif, port tempat komputer mendengarkan.

netstat -tupln

Ini akan mencantumkan Anda semua koneksi di sepanjang pid. Temukan dan salin pid dan jalankan perintah berikut. Pastikan Anda mengganti dengan id aktual dalam perintah berikut.

kill -9 <copied pid>

-9 Digunakan untuk mematikan koneksi secara paksa.


1

Coba sudo fuser PORT/tcp -k Ganti PORTdengan port yang ingin Anda bunuh, misalnya80


0

kill -9 $ (lsof -t -i: 9001)

dapat digunakan untuk mematikan proses. Anda dapat menggunakan nomor port apa saja, bukan 9001


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.