Android

Bunuh perintah di linux

Come Killare un processo in Linux!!!

Come Killare un processo in Linux!!!

Daftar Isi:

Anonim

Linux adalah sistem operasi yang hebat dan canggih, tetapi tidak sempurna. Sesekali, beberapa aplikasi mungkin mulai berperilaku tidak menentu dan menjadi tidak responsif atau mulai menghabiskan banyak sumber daya sistem. Aplikasi tidak responsif tidak dapat di-restart karena proses aplikasi asli tidak pernah dimatikan sepenuhnya. Satu-satunya solusi adalah me-restart sistem atau mematikan proses aplikasi.

Ada beberapa utilitas yang memungkinkan Anda untuk menghentikan proses yang salah dengan kill yang paling umum digunakan.

kill Command

kill adalah shell yang ada di sebagian besar shell yang berasal dari Bourne seperti Bash dan Zsh. Perilaku perintah sedikit berbeda antara shell dan file mandiri /bin/kill dapat dieksekusi.

Gunakan perintah type untuk menampilkan semua lokasi di sistem Anda yang berisi kill :

type -a kill

kill is a shell builtin kill is /bin/kill

Output di atas memberi tahu bahwa shell builtin memiliki prioritas di atas executable mandiri, dan digunakan kapan pun Anda mengetik kill . Jika Anda ingin menggunakan biner, ketikkan path lengkap ke file /bin/kill ., kami akan menggunakan Bash builtin.

Sintaks dari perintah kill mengambil bentuk berikut:

kill…

Perintah kill mengirim sinyal ke proses atau kelompok proses yang ditentukan, menyebabkan mereka bertindak sesuai dengan sinyal. Ketika sinyal tidak ditentukan, standarnya adalah -15 (-TERM).

Sinyal yang paling umum digunakan adalah:

  • 1 ( HUP ) - Muat ulang suatu proses. 9 ( KILL ) - Matikan proses. 15 ( TERM ) - Hentikan proses dengan anggun.

Untuk mendapatkan daftar semua sinyal yang tersedia, aktifkan perintah dengan opsi -l :

kill -l

Sinyal dapat ditentukan dalam tiga cara berbeda:

  1. Menggunakan angka (mis. -1 atau -s 1 ).Menggunakan awalan “SIG” (mis., -SIGHUP atau -s SIGHUP ).Tidak menggunakan awalan “SIG” (mis., -HUP atau -s HUP ).

Perintah berikut ini setara satu sama lain:

kill -1 PID_NUMBER kill -SIGHUP PID_NUMBER kill -HUP PID_NUMBER

PID yang disediakan untuk perintah kill dapat berupa salah satu dari yang berikut:

  • Jika PID lebih besar dari nol, sinyal dikirim ke proses dengan ID sama dengan PID . Jika PID sama dengan nol, sinyal dikirim ke semua proses dalam grup proses saat ini. Dengan kata lain, sinyal dikirim ke semua proses milik GID dari shell yang memanggil perintah kill . Gunakan perintah ps -efj untuk melihat ID grup proses (GID). Jika PID sama dengan -1 , sinyal dikirim ke semua proses dengan UID yang sama dengan pengguna yang menggunakan perintah. Jika pengguna pemohon adalah root, sinyal dikirim ke semua proses kecuali init dan proses kill itu sendiri. Jika PID kurang dari -1 , sinyal dikirim ke semua proses dalam grup proses eq dengan GID sama dengan nilai absolut dari PID .

Pengguna biasa dapat mengirim sinyal ke proses mereka sendiri, tetapi bukan milik pengguna lain, sedangkan pengguna root dapat mengirim sinyal ke proses pengguna lain.

Mengakhiri Proses Menggunakan Perintah kill

Untuk menghentikan atau membunuh proses dengan perintah kill , pertama Anda perlu menemukan nomor ID proses (PID). Anda dapat melakukan ini menggunakan perintah yang berbeda seperti top , ps , pidof dan pgrep .

Katakanlah browser Firefox telah menjadi tidak responsif, dan Anda harus mematikan proses Firefox. Untuk menemukan PID browser gunakan perintah pidof :

pidof firefox

Perintah akan mencetak ID dari semua proses Firefox:

6263 6199 6142 6076

Setelah mengetahui nomor proses, Anda dapat menghentikan semuanya dengan mengirimkan sinyal TERM :

kill -9 2551 2514 1963 1856 1771

Alih-alih mencari PID dan kemudian menghentikan proses, Anda dapat menggabungkan perintah di atas menjadi satu:

kill -9 $(pidof firefox)

Reload Proses Menggunakan Perintah kill

Kasus penggunaan umum lainnya untuk kill adalah mengirim sinyal HUP , yang memberi tahu proses untuk memuat ulang pengaturannya.

Misalnya, untuk memuat ulang Nginx, Anda perlu mengirim sinyal ke proses master. ID proses dari proses master Nginx dapat ditemukan di file nginx.pid , yang biasanya terletak di direktori /var/run .

Gunakan perintah cat untuk menemukan master PID:

cat /var/run/nginx.pid

30251

Setelah Anda menemukan master PID memuat ulang pengaturan Nginx dengan mengetik:

sudo kill -1 30251

Perintah di atas harus dijalankan sebagai root atau pengguna dengan hak akses sudo.

Kesimpulan

Perintah kill digunakan untuk mengirim sinyal ke proses. Sinyal yang paling sering digunakan adalah SIGKILL atau -9 , yang menghentikan proses yang diberikan.

bunuh terminal