Mengingat ID yang dihasilkan oleh wmctrl -l
, saya ingin dapat mematikan proses yang terhubung ke ID jendela.
Bagaimana Anda menyarankan untuk melakukannya? '
command-line
bash
batch
wmctrl
pengguna123456
sumber
sumber
Jika Anda menggunakan
wmctrl -lp
PID ada di kolom ketiga.Untuk ID jendela tertentu yang dapat Anda gunakan
(ganti WID dengan ID jendela Anda)
sumber
col3
.wmctrl
sebenarnya memiliki bendera lain-p
untuk daftar PID.Setelah Anda mengetahui hal ini, ini adalah tindakan sepele untuk mengekstraksi PID jendela itu dan meneruskannya
kill
sumber
Anda juga bisa menggunakan
xkill -id [id]
. The xkill utilitas bekerja secara berbeda dari jawaban yang lain - bukan menutup jendela atau membunuh proses secara langsung, itu menginstruksikan X server untuk memutuskan klien yang menciptakan jendela. Ini biasanya memiliki efek menyebabkan proses berhenti bahkan untuk proses jarak jauh.Keuntungan dan kerugian dari setiap pendekatan:
wmctrl -c
menutup jendela "dengan anggun" - seolah-olah Anda telah mengklik sendiri tombol tutup pengelola jendela. Ini mungkin tidak mematikan proses, dan bahkan mungkin tidak menutup jendela, jika aplikasi tidak ingin jendela ditutup, atau dibekukan.Menggunakan pid dari
wmctrl -lp
dengankill
dijamin untuk mematikan proses, tetapi mungkin memerlukan kerja ekstra atau tidak bekerja sama sekali jika proses tersebut dapat berjalan pada mesin yang berbeda.xkill
mungkin tidak menghentikan proses, jika itu dirancang untuk dapat pulih dari crash server X atau kehilangan konektivitas jaringan, tetapi sebagian besar aplikasi hanya akan crash dalam keadaan ini. Bagaimanapun, windows akan hilang. Dan proses jarak jauh dan lokal ditangani secara identik.sumber
gunakan
xkill
. Cukup ketikxkill
terminal Anda dan klik pada jendela yang diperlukan.sumber