Cara membunuh proses berjalan di linux

Cara membunuh proses berjalan di linux

Segala sesuatu yang berjalan pada sistem Linux - layanan, skrip, atau apa pun - dianggap sebagai “proses."Jika Anda perlu mengakhiri proses berjalan di Linux, membunuh Perintah pasti akan melakukan pekerjaan itu.

Dalam panduan ini untuk administrator Linux, kami akan membahas membunuh Perintah Linux dan Cara Menggunakan Berbagai Opsi untuk Mengakhiri, atau "Membunuh," proses berjalan di Linux.

Dalam tutorial ini Anda akan belajar:

  • Bagaimana cara kerja perintah membunuh?
  • Bagaimana melihat proses apa yang sedang berjalan
  • Cara membunuh proses oleh pid
  • Bagaimana membunuh proses yang menolak untuk menutup
  • Bagaimana membunuh proses dengan nama
Cara membunuh proses berjalan di linux

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Ubuntu, Debian, Centos, Rhel, Fedora
Perangkat lunak Tidak ada
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Bagaimana cara kerja perintah membunuh?

Dengan nama seperti "Kill," Anda mungkin berharap bahwa utilitas ini digunakan untuk segera mengakhiri proses. Meskipun ini benar, membunuh hanya berfungsi dengan cara itu saat digunakan dengan opsi tertentu. Secara default, membunuh akan mencoba menghentikan suatu proses dengan anggun mungkin.

Dalam istilah teknis, membunuh mengirimkan a Sigterm sinyal ke proses yang ditentukan, dan itu menginstruksikan proses untuk dimatikan. Ini adalah cara yang sopan untuk mengakhiri proses berjalan, dan memberikan aplikasi atau waktu layanan untuk membungkus hal -hal terlebih dahulu - seperti finishing menulis ke file log, menutup koneksi terbuka yang diteluskan oleh proses, dll.



Satu -satunya masalah dengan ini adalah bahwa program yang keras kepala dapat mengabaikan Sigterm sinyal. Ini terjadi terutama dalam proses yang beku atau “digantung." Namun, membunuh dapat digunakan untuk mengirim banyak sinyal berbeda ke suatu proses, dan bahkan dapat memaksa yang paling keras kepala untuk menutup dengan a Sigkill sinyal. Kami akan membahas opsi ini di bagian berikutnya.

Yang penting untuk diambil dari informasi ini adalah bahwa, jika memungkinkan, Anda harus mengirim sinyal sigterm biasa ke proses yang ingin Anda akhiri. Segera membunuh layanan dengan a Sigkill Sinyal efektif setiap saat dan akan memberi Anda hasil instan, tetapi dapat menyebabkan masalah di masa depan karena prosesnya tidak mendapatkan kesempatan untuk dimatikan dengan benar.

Bagaimana melihat proses apa yang sedang berjalan

Setiap proses di Linux diberi "ID proses" yang unik, biasanya disingkat sebagai Pid di terminal Linux. Terkadang, mengetahui PID suatu proses diperlukan untuk mengakhirinya. Untuk melihat daftar proses berjalan, dan nomor PID yang sesuai, gunakan ps memerintah:

# ps -e 

Ini dapat menghasilkan banyak output, karena bahkan instalasi baru Linux dapat memiliki beberapa proses berjalan, jadi biasanya lebih baik untuk menyalurkan perintah ini grep atau lagi.

Untuk tampilan yang lebih mudah dikelola:

# ps -e | lebih -15 


Atau untuk mencari proses tertentu (SSH dalam contoh ini):

# ps -e | grep ssh 
Dapatkan PID dari proses berjalan

Cara praktis lain untuk melihat daftar proses berjalan dan pid mereka adalah dengan atas memerintah. Terkadang ini bahkan lebih berguna, karena juga menunjukkan berapa banyak sumber daya sistem yang digunakan oleh proses.

Lihat PID dengan perintah atas

Cara membunuh proses oleh pid



Setelah Anda menentukan PID proses yang ingin Anda akhiri, Anda dapat menentukannya sebagai argumen untuk membunuh memerintah. Misalnya, untuk mengakhiri proses dengan PID 1234:

# Bunuh 1234 

Perintah ini mengirimkan file Sigterm sinyal dan harus dapat mematikan sebagian besar proses dalam satu atau dua detik. Ingatlah bahwa Anda dapat menggunakan ps Perintah lagi untuk memverifikasi bahwa proses telah berhasil ditutup.

# ps -e | Grep 1234 

Bagaimana membunuh proses yang menolak untuk menutup

Jika Anda telah menemukan proses keras kepala yang menolak untuk menutup, Anda dapat mengeluarkan a Sigkill sinyal dengan -9 opsi di membunuh.



# kill -9 1234 

Ingatlah untuk menggunakan opsi ini dengan hemat, karena ini bukan cara yang ideal untuk mengakhiri proses (tetapi kadang -kadang Anda harus).

Biasanya, Sigterm Dan Sigkill mungkin satu -satunya dua sinyal yang perlu Anda gunakan, tetapi ada banyak orang lain yang dapat Anda kirim dengan membunuh memerintah. Perintah berikut akan menghasilkan daftar lengkap:

# kill -l 
Daftar sinyal yang dapat dikirimkan oleh pembunuhan

Adalah baik untuk setidaknya menyadari opsi lain, karena beberapa program atau skrip dapat merekomendasikan penggunaannya.

Seperti yang Anda lihat di output, Sigkill terdaftar di #9, itulah sebabnya -9 sakelar mengirimkan Sigkill sinyal. Tentukan nomor yang berbeda untuk mengirim sinyal masing -masing ke suatu proses.



Bagaimana membunuh proses dengan nama

Ada cara yang lebih cepat untuk mengakhiri proses daripada harus mencari PID -nya setiap saat. Menggunakan pkill perintah dan nama proses yang ingin Anda bunuh. Misalnya, inilah cara membunuh SSH:

# pkill ssh 

Itu pkill Perintah mampu mengirimkan sinyal yang berbeda, seperti halnya reguler membunuh memerintah:

# pkill -9 ssh 

Jangan khawatir tentang mendapatkan nama yang tepat dari prosesnya. Perintah ini membunuh proses bernama SSH-agent yang sedang berjalan di sistem kami.



Ada satu kelemahan untuk digunakan pkill alih-alih membunuh. Katakanlah Anda memiliki dua proses SSH yang berjalan, 'ssh-server' dan 'ssh-agent'. Mengeluarkan perintah di atas dengan pkill akan mengakhiri kedua proses ini, bahkan jika Anda hanya bermaksud untuk mengakhiri agen SSH.

Ini juga masalah jika Anda memiliki beberapa contoh skrip yang berjalan, sejak menceritakan pkill untuk mengakhiri skrip itu akan mengakhiri semua contoh skrip. Sekali lagi, terkadang perilaku ini mungkin lebih disukai. Jika Anda membutuhkan kontrol yang lebih granular, ingatlah untuk memilih membunuh Perintah sebagai gantinya.

Kesimpulan

Dalam artikel ini, kami melihat cara membunuh proses apa pun yang berjalan pada sistem Linux dengan menggunakan membunuh memerintah. Kami belajar cara membunuh suatu proses baik dengan pid atau namanya, bersama dengan pro dan kontra dari kedua metode.

Dengan pengetahuan tentang membunuh Perintah dan praktik terbaik untuk cara menggunakannya, Anda memiliki kontrol lebih besar atas proses yang berjalan di sistem Anda. Ini sangat berguna untuk program yang "menggantung" dan kadang -kadang menolak untuk menutup.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Perintah Linux Dasar
  • Cara menyebarkan sinyal untuk proses anak dari pesta ..
  • Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Unduh Linux
  • Instal Arch Linux di VMware Workstation
  • Cara mencetak pohon direktori menggunakan linux