Bagaimana saya bisa menemukan id proses dan menghentikan proses yang berjalan pada port 8080 pada Mac?
Di Ubuntu ini berfungsi:
ps -aux
dan saya dapat menemukan proses dan menjalankan:
kill -9 pid
ps -aux
sepertinya tidak berfungsi, bagaimana saya bisa melakukan ini di Mac OS X Lion?
kill -9 pid
sampai setelah Anda mencoba sajakill pid
. Banyak proses akan memiliki penangan sinyal yang akan membersihkan penggunaan sumber daya mereka, dengan bersih menutup koneksi dan tugas pra-shutdown lainnya. Jika Anda membunuh dengan -9, proses mati segera tanpa melakukan pembersihan. Membunuh tanpa -9 akan berhasil sebagian besar waktu.Jawaban:
Untuk alasan historis,
ps
pilihannya adalah kekacauan yang kusut dan tidak konsisten. Di OS X Lion, semua ini akan berfungsi:Saya tidak memiliki kotak ubuntu yang mudah untuk diuji, tetapi menurut halaman manual ,
ps -aux
juga bukan cara yang tepat untuk melakukannya di sana:sumber
Gunakan
Activity Monitor
.Applications
->Utilities
->Activity Monitor
sumber
Jika Anda ingin menemukan dan membunuh semua proses yang sesuai dengan string, Anda juga dapat menggunakan yang berikut ini di Mac OSX:
Pada dasarnya apa yang akan dilakukan adalah bahwa ia akan menemukan (grep) semua proses yang berjalan pada sistem Anda yang cocok dengan, AWK mendapat PID, yang dalam perintah PS adalah kolom kedua dan yang terakhir mengambil argumen dari AWK dan membunuh proses.
Gunakan SUDO, hanya jika pengguna saat ini tidak memiliki hak untuk mematikan proses dan jika Anda memiliki akses SUDO di sistem Anda.
sumber
Saya percaya
ps -ef
pada Mac hampir setara denganps -aux
di linux.Untuk mendapatkan PID yang memiliki port 8080 digunakan:
lsof -P | grep 8080
Field memetakan ke:
Saya memulai
ttcp -rs
yang mendengarkan pada port 5001.dan memang, PID 27999 sesuai dengan PID dari
ttcp
proses yang saya luncurkan.sumber
ps aux
(tanpa tanda hubung) pada OS X.ps -ef
termasuk kolom yang berbeda dan menggunakan format yang berbeda.Untuk tetap mendapatkan informasi terbaru, untuk macOS:
Untuk Linux:
sumber