Perintah A-Z

Cara Membunuh atau Mengakhiri Proses Linux Panduan Utama

Cara Membunuh atau Mengakhiri Proses Linux Panduan Utama

Sistem operasi multiproses seperti Linux dan BSD menggunakan beberapa metode untuk memaksimalkan penggunaan CPU. Sebuah proses hanyalah sebuah program dalam eksekusi. Karena akan ada lebih dari satu proses Linux yang berjalan pada waktu tertentu, manajemen proses di Linux sangat penting. Pengguna sering menghadapi masalah seperti pembatasan sumber daya CPU saat menjalankan terlalu banyak program. Situasi seperti ini muncul ketika CPU gagal menangani jumlah proses yang terus bertambah. Meskipun ini tidak sepenuhnya bergantung pada kekuatan CPU Anda, berurusan dengan proses yang digantung atau zombie bisa sangat membuat frustrasi. Untuk membantu Anda mengurangi kejadian seperti itu, kami menguraikan beberapa cara standar untuk menghentikan proses ini.

Kuasai Manajemen Proses Tidak Responsif di Linux


Anda akan mempelajari beberapa cara untuk menghentikan proses Linux yang tidak merespons sama sekali. Jika Anda berasal dari Windows, Anda mungkin akrab dengan Ctrl+Alt+Delete. Demikian pula, pengguna Mac memiliki metode Command+Option+Escape untuk membunuh proses yang membeku. Linux jauh lebih fleksibel daripada rekan-rekannya dan menawarkan lebih dari satu metode untuk menangani proses mati/tidak responsif.

Berbagai Metode Membunuh Proses Linux yang Mati


Kami terutama akan menguraikan dua metode untuk membunuh proses zombie. Kami akan menggunakan terminal Linux untuk metode pertama. Untuk ini, pertama-tama kita harus mengidentifikasi id proses. Setelah berhasil diperoleh, kita dapat menggunakan PID ini untuk mematikan program dengan mengirimkan sinyal spesifik ke PID tersebut.

Anda juga akan belajar bagaimana melakukan pekerjaan mematikan Linux seperti itu dari antarmuka pengguna grafis atau jendela X. Kami akan memanfaatkan 'Pemantau Sistem' aplikasi yang tersedia di Ubuntu untuk ini. Meskipun ini adalah aplikasi GNOME, alat serupa tersedia untuk lingkungan desktop Linux lainnya.

Hentikan Proses yang Tidak Merespons Dari Baris Perintah


Ada beberapa alat untuk menghentikan proses yang tidak responsif atau digantung dari baris perintah, termasuk membunuh, pkill, dan Bunuh semua. Perintah ini bekerja dengan mengirimkan sinyal spesifik ke proses yang tidak responsif ini. Anda akan memerlukan id proses atau PID informasi sehingga Anda dapat mengirimi mereka sinyal penghentian yang diperlukan.

PID atau id proses adalah nomor unik yang mengidentifikasi suatu proses. Ini dibuat oleh kernel Linux selama runtime, dan penjadwal proses mengontrol aktivitas CPU mereka. Jadi, setiap kali Anda menjalankan aplikasi, kernel pertama-tama akan menelurkan proses yang diperlukan dan menetapkan nilai PID unik ini kepada mereka. Mungkin ada beberapa PID yang terkait dengan suatu proses. Selain itu, setiap proses memiliki proses induk tunggal dengan PPID (ID Proses Induk) unik.

Jadi, jika Anda dapat mengetahui PPID ini, maka Anda akan dapat mengirim sinyal mematikan menggunakan program yang dirancang untuk tujuan ini. Di bawah ini Anda akan mempelajari cara memeriksa proses yang berjalan di Linux dan mengidentifikasi PPID-nya dari terminal.

Cari Tahu Informasi PPID


Anda dapat mengetahui PPID suatu proses menggunakan beberapa perintah manajemen proses di Linux, seperti: pidof, pstree, dan pgrep. Mari kita periksa satu per satu dan lihat cara mendapatkan PID dari proses Linux Linux.

Metode 1: Menggunakan Perintah ps


Perintah ps di Linux menampilkan semua proses yang berjalan bersama informasi terkait proses lainnya seperti PID di terminal. Kita dapat menggunakan perintah ini untuk membuat daftar semua proses dan kemudian menyaring proses tertentu dengan menggunakan perintah grep Linux Linux. Itu harus menunjukkan kepada kami informasi id proses yang kami minati.

$ nano > /dev/null &
$ps aux | grep "nano"

Pertama, kami telah memanggil editor teks Linux di latar belakang. Kemudian kami telah menggunakan perintah ps di samping perintah grep untuk mengetahui PPID editor ini. Outputnya mungkin berisi beberapa id proses, tetapi kami hanya tertarik pada yang pertama karena itu adalah PPID kami. Kami juga dapat menggunakan perintah awk Linux untuk mengetahui informasi ini, seperti yang ditunjukkan di bawah ini.

$ps aux | awk '/nano/ cetak $2'

Perintah ini lebih fleksibel karena menekan semua informasi yang tidak relevan. Itu hanya akan menampilkan informasi PPID yang kita cari.

Metode 2: Menggunakan Perintah pstree


Perintah pstree memberi kita tampilan seperti pohon dari semua proses yang berjalan. Ini memberikan tampilan grafis dari daftar tugas Linux dari jendela terminal. Anda dapat melihat PPID serta semua informasi PID dari suatu proses menggunakan perintah ini. Lihat contoh di bawah ini untuk mempelajari cara memanfaatkan pstree untuk menemukan PPID dari proses tertentu.

$ nano > /dev/null &
$ pstree -p | grep 'nano' $ pstree -p | awk '/nano/ cetak $NF'

Pertama, kami telah menelurkan proses di latar belakang dengan menggunakan perintah pertama. Perintah kedua kemudian mengambil PPID dari proses ini dengan menggunakan perintah grep di Linux. Akhirnya, perintah ketiga menunjukkan kepada kita cara mengambil nilai ini menggunakan perintah awk.

Metode 3: Menggunakan Perintah pgrep


Perintah pgrep adalah salah satu perintah manajemen proses termudah di Linux. Ini memeriksa daftar semua proses yang berjalan dan mencetak PPID dari proses yang diberikan dalam output standar atau terminal dalam kasus kami. Ia bekerja dengan melakukan pencocokan regex dan sangat cocok untuk menulis skrip shell Linux.

$ nano > /dev/null &
$ pgrep 'nano'

Kami telah menelurkan proses nano yang mirip dengan contoh sebelumnya. Kemudian kami telah memperoleh PPID-nya dengan menggunakan perintah pgrep. Setelah kami mendapatkan nilai ini, kami dapat melakukan pekerjaan mematikan Linux dengan sangat mudah.

Metode 4: Menggunakan Perintah pidof


Perintah pidof adalah cara lain yang sederhana namun berguna untuk menentukan PPID dari proses Linux. Ini menampilkan PPID dan semua PID lain yang terkait dengan suatu proses. Lihat pemeriksaan di bawah ini untuk melihat bagaimana menggunakannya dalam praktik.

$ nano > /dev/null &
$ pidof nano $ pidof -s nano

Saat menggunakan perintah pidof untuk memeriksa proses yang berjalan di Linux, Anda akan sering melihat beberapa PID. Biasanya, dalam kasus seperti itu, angka pertama atau terakhir adalah PPID, tergantung apakah mereka dalam urutan menaik atau menurun. Anda dapat menggunakan -s opsi pidof untuk mengurangi ini. Ini hanya akan menampilkan nilai PPID.

Metode 5: Menggunakan Perintah atas


Perintah top memberikan tampilan real-time dari semua proses yang berjalan di sistem operasi mirip Unix. Anda dapat menggunakan ini untuk menampilkan daftar tugas Linux di terminal Anda dan mengetahui informasi PID dari proses tertentu.

$ atas

Gunakan perintah berikut untuk mengambil PPID dari proses tertentu dari output perintah teratas.

$ nano > /dev/null &
$ atas -n1 -b | grep 'nano' $ top -n1 -b | awk '/nano/ cetak $1'

Karena top menyediakan output real-time alih-alih membuang data statis ke terminal, kami telah menggunakan -n1 dan -b opsi untuk mencetak output statis. Kemudian Anda dapat mengambil informasi PPID dengan menggunakan perintah grep atau perintah awk di Linux.

Matikan Proses Linux yang Tidak Responsif


Anda dapat menggunakan salah satu metode di atas untuk mengambil PPID dari proses yang tidak responsif. Setelah Anda mendapatkan ini, sekarang saatnya untuk menghentikan proses sama sekali. Ada beberapa perintah yang memungkinkan kita melakukan ini, seperti membunuh, pkill, dan Bunuh semua. Kita akan melihat cara kerjanya satu per satu di bagian berikut following.

Metode 1: Menggunakan Perintah kill


Perintah kill banyak digunakan oleh admin Linux karena kesederhanaan dan tindakannya yang kuat. Dibutuhkan PID dari proses dan sinyal. Kernel mematikan/menghentikan eksekusi proses berdasarkan sinyal ini. Anda dapat menggunakan perintah berikutnya untuk melihat semua sinyal yang tersedia untuk perintah kill.

$ bunuh -l

Seperti yang Anda lihat, kill menawarkan 64 sinyal berbeda. Namun, kami hanya akan membahas dua di antaranya dalam panduan ini. Ini adalah sinyal 9 (SIGKILL) dan sinyal 15 (SIGTERM). SIGTERM atau sinyal 15 adalah metode yang aman untuk membunuh proses yang tidak responsif. SIGKILL atau sinyal 9, di sisi lain, memaksa membunuh proses Linux.

$ bunuh -9 8631 $ bunuh -BUNUH 8631

Perintah di atas setara, dan mereka akan memaksa mematikan proses yang memiliki PID 8631. Itu adalah PPID dari proses 'nano' di sistem saya. Ganti ini dengan PID dari proses yang tidak responsif di sistem Anda.

$ bunuh -15 8631 $ bunuh -JANGKA 8631

Perintah di atas juga setara dan akan mematikan proses dengan anggun. Itu sebabnya perlu beberapa waktu sebelum prosesnya dimatikan. Selain itu, Anda mungkin perlu menambahkan sudo sebelum perintah kill jika proses dimiliki oleh pengguna yang berbeda.

Metode 2: Menggunakan Perintah pkill


Perintah pkill adalah salah satu perintah manajemen proses paling serbaguna di Linux. Ini memungkinkan kita untuk mematikan proses yang tidak responsif berdasarkan namanya, PID, pemilik, dan atribut runtime lainnya. Ini adalah alat yang sempurna untuk pengguna pemula atau orang yang tidak terbiasa dengan banyak perintah terminal standar.

$ pkill nano $ pkill 8631 $ pkill -e nano $ pkill -f nano

Anda dapat menggunakan salah satu dari perintah pkill di atas untuk membunuh proses zombie/tidak responsif di Linux. Menggunakan -e opsi jika Anda ingin konfirmasi tentang pekerjaan mematikan Linux. Perintah pkill juga memungkinkan pengguna untuk mengirim sinyal penghentian tertentu.

Metode 3: Menggunakan Perintah killall


Perintah killall memungkinkan pengguna untuk mematikan proses yang tidak responsif berdasarkan nama mereka. Lebih mudah digunakan tetapi dapat menimbulkan masalah jika Anda tidak berhati-hati. Karena killall menghentikan proses berdasarkan nama, selalu ada kemungkinan Anda mengakhiri proses secara kebetulan. Misalnya, jika ada berbagai versi nano yang tersedia di sistem Anda, contoh pertama akan mematikan semuanya.

$ killall nano $ killall --verbose nano $ killall --interactive nano $ killall --signal KILL nano

Contoh pertama menunjukkan penggunaan dasar perintah killall di Linux. Perintah kedua akan melaporkan apakah pekerjaan membunuh berhasil atau tidak, dan perintah ketiga akan meminta konfirmasi pengguna sebelum membunuh proses. Secara default, killall menggunakan sinyal SIGTERM untuk mematikan proses. Namun, Anda dapat menentukan sinyal secara manual, seperti yang ditunjukkan pada contoh terakhir.

Metode 4: Menggunakan Handy One-Liners


Keindahan sebenarnya dari Linux terletak pada kenyataan bahwa ia memungkinkan pengguna untuk membuat kombinasi perintah yang canggih berdasarkan kebutuhan mereka. Untuk mendemonstrasikan ini, kami telah menguraikan beberapa kalimat tunggal di bagian ini.

$ nano > /dev/null &
$ kill -9 $(pgrep nano) $ ps aux | grep -e 'nano' | awk 'cetak $2' | xargs membunuh -9

Pada contoh pertama, kami telah menggunakan interpolasi shell untuk meneruskan PID dari proses 'nano' ke perintah kill Linux. Contoh kedua menggunakan beberapa perintah terminal sehari-hari dan pengalihan I/O untuk mematikan proses. Anda dapat membuat one-liners Anda sendiri yang bagus setelah Anda merasa nyaman dengan terminal Linux.

Metode 5: Bunuh Banyak Proses menggunakan Skrip Shell Linux


Terkadang pengguna mungkin ingin menghentikan lebih dari satu proses. Kami dapat dengan mudah mengotomatisasi tugas-tugas seperti itu dengan menulis skrip shell sederhana. Jika Anda tertarik dengan topik ini, periksa panduan kami sebelumnya tentang skrip shell Linux. Skrip berikut akan mengambil PPID dari proses yang ingin Anda matikan dan kemudian menghentikannya menggunakan sinyal mematikan.

$ nano proc-pembunuh.SH
#!/usr/bin/env bash untuk pro di "$@" do pid=$(pgrep $pro | head -1) echo $pid comm="kill -9 $pid" eval $comm done

Sekarang, simpan file ini dan tambahkan izin eksekusi dengan mengeluarkan perintah di bawah ini.

$ chmod +x proc-killer.SH

Anda sekarang dapat memberikan skrip ini nama proses yang ingin Anda hentikan.

$ ./proc-pembunuh.sh nano gedit vlc

Cukup ganti argumen dengan nama proses Linux yang tidak responsif di sistem Anda.

Hentikan Proses yang Tidak Merespons Dari GUI


Anda juga dapat menghentikan proses yang tidak responsif dari antarmuka pengguna grafis atau jendela X. Kami membahas dua metode untuk melakukan ini di bagian berikut.

Metode 1: Menggunakan Aplikasi xkill


Distribusi Linux modern menggunakan jendela grafis X untuk memberikan pengalaman grafis yang elegan kepada pengguna. Ada alat sederhana yang disebut xkill yang memungkinkan pengguna untuk menutup jendela GUI yang tidak responsif. Hal ini dimungkinkan karena, di Linux, jendela judul aplikasi terpisah dari aplikasi itu sendiri.

Cukup buka emulator terminal Linux Anda dan ketik xkill. Ini akan mengubah kursor mouse Anda menjadi tombol X, yang dapat digunakan untuk mematikan jendela GUI apa pun.

$xkill

Sekarang, yang perlu Anda lakukan hanyalah mengklik bilah jendela aplikasi yang tidak responsif, dan itu akan dimatikan dan menghilang seketika.

Metode 2: Menggunakan Aplikasi Monitor Sistem di Ubuntu


Sebagian besar distribusi Linux utama datang dengan semacam alat pemantauan GUI yang memungkinkan pengguna untuk menghentikan proses Linux yang digantung secara grafis. Misalnya, aplikasi Monitor Sistem di Ubuntu akan memungkinkan kita untuk menghentikan proses yang tidak responsif dengan cara yang intuitif. Anda cukup memilih proses mati dari daftar proses dan mematikannya dengan mengklik kanan pada proses dan memilih opsi bunuh.

Ada banyak lagi alternatif untuk aplikasi ini, dan kami yakin Anda dapat dengan mudah menemukannya untuk distribusi atau lingkungan desktop Anda.

Mengakhiri Pikiran


Karena manajemen proses di Linux sangat fleksibel, pengguna sering merasa frustrasi ketika berurusan dengan proses yang tidak responsif. Itulah sebabnya editor kami telah menguraikan semua cara yang mungkin untuk menghentikan proses Linux yang mati dalam panduan ini. Setelah membaca ini, Anda seharusnya dapat mematikan proses yang tidak responsif baik dari baris perintah atau dari GUI. Anda juga dapat menggunakan salah satu perintah one-liner kami untuk menangani gangguan tersebut dalam waktu sesingkat mungkin. Selain itu, Anda bahkan dapat mematikan lebih dari satu proses dengan menggunakan skrip shell sederhana kami. Jadi mudah-mudahan, Anda memperoleh informasi yang Anda cari dari pemandu kami.

Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...
Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...
Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...