Matikan proses ketika PID terus berubah

9

Ketika saya menerbitkan

ps aux | grep mtp

saya mendapat

ubuntu- + 15934 0,1 0,0 519848 7068? Sl 21:13 0:00 / usr / lib / gvfs / gvfsd-mtp --spawner: 1.9 / org / gtk / gvfs / exec_spaw / 20

Jadi PID dalam kasus ini adalah 15934. Tetapi setiap kali ini dijalankan, PID berbeda. Apakah ada cara lain untuk mematikan proses selain dengan PID?

Bachalo
sumber
PID berbeda → proses berbeda.
phk
3
Jika PID terus berubah maka proses terus-menerus keluar dan proses baru dengan nama yang sama dimulai. Jadi Anda mungkin ingin pergi setelah proses orangtua, yang memulai anak-anak. Lihat ps -ely | awk 'NR==1||/mtp/'dan lihat kolom PPID
icarus
1
Pendekatan yang lebih baik akan memahami apa yang sebenarnya terjadi , dan memperbaiki yang sebaliknya. Cari tahu mengapa pemasangan MTP tidak berfungsi, dengan memeriksa log dan sebagainya, dan memperbaikinya sehingga benar-benar berfungsi. Cari tahu mengapa GVFS bahkan mencoba pemasangan MTP, dan hentikan agar tidak membutuhkannya. Cari tahu di mana MTP automount terjadi, dan matikan. Cari tahu mengapa GVFS diperlukan sama sekali, dan berhentilah begitu. Berlawanan dengan proses pembunuhan mau tak mau tanpa pemahaman, dan akibatnya merusak aplikasi desktop GNOME seseorang.
JdeBP

Jawaban:

8

Mungkin ada proses orang tua yang membunuh proses anak dan memotong anak baru. Anda dapat menggunakan pstree untuk menemukan proses induk:

pgrep mtp | xargs -i pstree -ps {}

Atau sebagai alternatif, Anda dapat menggunakan opsi ppid dari ps:

pgrep mtp | while read line; do ps -p $line -o ppid; done

Maka Anda dapat membunuh proses induk

Cevikel Serhat
sumber
0

Anda dapat menggunakan pkill mtp, atau membunuh -9 pidof mtp

Harap perhatikan bahwa jika ada beberapa proses mtp, kedua perintah ini akan mematikan semua proses mtp dalam sistem.

Rami Rosen

Rami Rosen
sumber
5
killall mtpAkan tetapi, ini atau akan membunuh mtp, mungkin ada proses lain yang terus-menerus memotong proses mtp baru sebagai anak-anak. Tanpa membunuh, ini tidak ada gunanya.
Serhat Cevikel
0

Saya menerbitkan

ps aux | grep mtp

yang memberi saya beberapa proses terkait mtp dan dibandingkan dengan kamera yang dipasang dan tidak terpasang untuk mendapatkan proses tertentu

lalu

pkill -9 gvfsd-mtp

lakukan triknya.

Tapi saya menganggap jawaban di atas akan bekerja juga :)

Bachalo
sumber