Saya mencoba menulis skrip yang mematikan layanan yang berjalan di port tertentu. Ini skrip saya:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
Ini adalah program java. Script ini kadang-kadang berfungsi, tetapi secara misterius gagal sebagian besar waktu.
Apakah ada cara lain untuk membunuh layanan yang berjalan di pelabuhan? Port saya adalah 4990
.
Jawaban:
Anda dapat mencoba
fuser
:Atau gunakan
lsof
untuk mendapatkan id proses, lalu beri makan kekill
:sumber
tcp
.-t
bendera itu, saya sudah membutuhkannya begitu lama.Jika Anda ingin mematikan layanan atau proses apa pun yang berjalan pada nomor port 8080 maka pertama-tama Anda harus menemukan nomor identifikasi proses (PID) port 8080 dan kemudian membunuhnya. Jalankan perintah berikut untuk menemukan P80 nomor port 8080:
Sini,
Jadi sekarang Anda dapat dengan mudah membunuh PID Anda menggunakan perintah berikut:
Sini,
Anda dapat menggunakan satu perintah untuk mematikan proses pada port tertentu menggunakan perintah berikut:
Untuk lebih lanjut Anda dapat melihat tautan berikut Cara membunuh proses pada port tertentu di linux
sumber
kill -9
memberi proses target tidak ada kesempatan untuk merapikan. Pertimbangkan menggunakan poloskill
, setidaknya pada awalnya.kill.php
$ php kill.php 8088
sumber
kill -9
memberi proses target tidak ada kesempatan untuk merapikan. Pertimbangkan menggunakan poloskill
, setidaknya pada awalnya.lsof -t -i:port_id
perintah ketika proses membangunport_id
atauprocess id
dariport_id
mungkin kosong, saat itu kami mendapatkan beberapa error perintah, untuk menghindari bahwa jenis kesalahan am menggunakan ini. di sini saya dapat membunuh id proses yang tepat dari port yang diberikan