Kemungkinan Gandakan:
Mencari proses yang menggunakan port tertentu di Linux
Saya menggunakan Ubuntu Linux 11.04. Bagaimana cara menulis ekspresi skrip shell yang akan menemukan proses berjalan pada port 4444 dan kemudian membunuh prosesnya?
Kemungkinan Gandakan:
Mencari proses yang menggunakan port tertentu di Linux
Saya menggunakan Ubuntu Linux 11.04. Bagaimana cara menulis ekspresi skrip shell yang akan menemukan proses berjalan pada port 4444 dan kemudian membunuh prosesnya?
Jawaban:
Anda dapat menggunakan lsofuntuk menemukan proses:
lsof -t -i:4444
akan mendaftar hanya pid dari proses mendengarkan pada port 4444. Anda bisa mengatakannya
kill `lsof -t -i:4444`
jika kamu berani.
Anda menggunakan lsof:
# lsof -n | grep TCP | grep LISTEN | grep 4444
Outputnya akan seperti:
pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)
Di mana kolom pertama adalah nama proses, dan kolom kedua adalah id proses. Anda kemudian mengurai output, mencari tahu apa id proses (PID) dan menggunakan killperintah untuk membunuhnya.
Atau Anda dapat menggunakan netstat -apjika lsoftidak tersedia di sistem Anda (karena tidak pada sistem busybox saya bekerja dengan teratur).
kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`
Menggunakan netstat untuk mendaftar mendengarkan soket INET dengan port numerik dan proses induk. Filter untuk string 4444, mengeluarkan kolom 7 (pid / nama proses) dan membaginya dengan "/" untuk mendapatkan pid. Melewati itu untuk membunuh perintah.