Cara Membunuh Proses Linux Menggunakan Kill, Pkill dan Killall

Cara Membunuh Proses Linux Menggunakan Kill, Pkill dan Killall

Sistem operasi Linux hadir dengan a Bunuh perintah untuk mengakhiri suatu proses. Perintah memungkinkan untuk terus menjalankan server tanpa perlu reboot setelah perubahan/pembaruan besar -besaran. Inilah kekuatan besar Linux dan ini adalah salah satu alasannya, mengapa Linux terus berjalan 96.4% server, di planet ini.

Membunuh Perintah mengirimkan sinyal, sinyal yang ditentukan ke proses yang sedang berjalan saat ini. Perintah Kill dapat dieksekusi dalam beberapa cara, secara langsung atau dari skrip shell.

[Anda mungkin juga suka: Temukan 15 proses teratas dengan penggunaan memori dengan 'atas' dalam mode batch]

Menggunakan membunuh perintah dari /usr/bin memberi Anda beberapa fitur tambahan untuk membunuh proses berdasarkan nama proses menggunakan pkill.

Bunuh Penggunaan Perintah

Sintaks umum untuk Bunuh perintah adalah:

# kill [sinyal atau opsi] pid (s)

Untuk sebuah Bunuh perintah A Nama Sinyal bisa jadi:

Nama Sinyal Nilai sinyal Perilaku Sighup 1 Hangup Sigkill 9 Bunuh Sinyal Sigterm 15 Berhenti

Jelas dari perilaku di atas, Sigterm adalah cara default dan teraman untuk membunuh suatu proses. Sighup adalah cara yang kurang aman untuk membunuh suatu proses daripada Sigterm. Sigkill adalah cara yang paling tidak aman di antara tiga di atas, untuk membunuh proses yang mengakhiri proses tanpa menabung.

Untuk membunuh suatu proses, kita perlu mengetahui ID proses suatu proses. A Proses adalah contoh dari suatu program. Setiap kali program dimulai, secara otomatis unik Pid dihasilkan untuk proses itu.

Setiap proses masuk Linux mempunyai sebuah pid. Proses pertama yang dimulai saat sistem linux di -boot adalah - proses init, Oleh karena itu diberi nilai '1' umumnya.

[Anda mungkin juga suka: semua yang perlu Anda ketahui tentang proses di Linux [panduan komprehensif]]

Init adalah proses utama dan tidak dapat dibunuh dengan cara ini, yang memastikan bahwa proses master tidak terbunuh secara tidak sengaja. Init memutuskan dan membiarkan dirinya dibunuh, di mana pembunuhan hanyalah permintaan untuk shutdown.

Sebutkan semua proses Linux yang menjalankan

Untuk mengetahui semua proses dan dengan demikian mereka ditugaskan pid, Jalankan perintah ps berikut.

# PS -A
Output sampel
PID TTY Time CMD 1 ? 00:00:01 Init 2 ? 00:00:00 KTHREADD 3 ? 00:00:00 Migrasi/0 4 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 Migrasi/0 6 ? 00:00:00 Watchdog/0 7 ? 00:00:01 Acara/0 8 ? 00:00:00 CGROUP 9 ? 00:00:00 Khelper 10 ? 00:00:00 Netns 11 ? 00:00:00 Async/mgr 12 ? 00:00:00 PM 13 ? 00:00:00 SYNC_SUPERS 14 ? 00:00:00 BDI-Default 15 ? 00:00:00 KintegrityD/0 16 ? 00:00:00 Kblockd/0 17 ? 00:00:00 Kacpid 18 ? 00:00:00 KACPI_NOTIFY 19 ? 00:00:00 KACPI_HOTPLUG 20 ? 00:00:00 ATA/0 21 ? 00:00:00 ATA_aux 22 ? 00:00:00 KSUSPEND_USBD

Bagaimana kalau menyesuaikan output di atas menggunakan sintaks sebagai 'proses pidof'.

# pidof mysqld
Output sampel
1684

Cara lain untuk mencapai tujuan di atas adalah mengikuti sintaks di bawah ini.

# ps aux | grep mysqld
Output sampel
Root 1582 0.0 0.0 5116 1408 ? S 09:49 0:00/bin/sh/usr/bin/mysqld_safe --datadir =/var/lib/mysql --socket =/var/lib/mysql/mysql.kaus kaki --pid-file =/var/run/mysqld/mysqld.PID -berbasisrip =/usr --user = mysql mysql 1684 0.1 0.5 136884 21844 ? SL 09:49 1:09/USR/LIBEXEC/MYSQLD-BUASTIR =/USR --DATADIR =/var/lib/mysql --user = mysql --gog-error =/var/log/mysqld.log --pid-file =/var/run/mysqld/mysqld.pid --socket =/var/lib/mysql/mysql.akar kaus kaki 20844 0.0 0.0 4356 740 poin/0 s+ 21:39 0:00 grep mysqld 

[Anda mungkin juga suka: cara menemukan 15 proses teratas berdasarkan penggunaan memori di Linux]

Cara Membunuh Proses di Linux

Sebelum kita melangkah lebih maju dan mengeksekusi a Bunuh perintah, Beberapa poin penting yang perlu diperhatikan:

  • Seorang pengguna dapat membunuh semua prosesnya.
  • Pengguna tidak dapat membunuh proses pengguna lain.
  • Pengguna tidak dapat membunuh proses yang digunakan sistem.
  • Pengguna root dapat membunuh proses-level-level dan proses pengguna mana pun.

Cara lain untuk melakukan fungsi yang sama adalah dengan menjalankan 'pgrep' memerintah.

# pGrep mysql
Output sampel
3139

Untuk membunuh proses di atas Pid, Gunakan perintah kill seperti yang ditunjukkan.

Bunuh -9 3139

Perintah di atas akan membunuh proses yang memiliki pid=3139, Di mana Pid adalah Nilai numerik dari prosesnya.

Cara lain untuk melakukan fungsi yang sama dapat ditulis ulang sebagai.

# kill -sigterm 3139

Demikian pula 'Bunuh -9 PID'mirip dengan'Bunuh -Sigkill Pid' dan sebaliknya.

Cara membunuh proses di linux menggunakan nama proses

Anda harus mengetahui nama prosesnya, sebelum membunuh dan memasukkan nama proses yang salah mungkin mengacaukan Anda.

# pkill mysqld 

Bunuh lebih dari satu proses sekaligus.

# kill pid1 pid2 pid3 atau # kill -9 pid1 pid2 pid3 atau # kill -sigkill pid1 pid2 pid3 

Bagaimana jika suatu proses memiliki terlalu banyak contoh dan sejumlah proses anak, kami memiliki perintah 'Bunuh semua' atau pkill. Keduanya adalah satu-satunya perintah dari keluarga ini, yang mengambil nama proses sebagai argumen di tempat nomor proses.

Sintaksis:
# killall [sinyal atau opsi] Nama proses atau # nama proses pkill 

Untuk membunuh semua Contoh mysql Seiring dengan proses anak, gunakan perintah sebagai ikuti.

# killall mysqld atau # pkill mysqld 

Anda selalu dapat memverifikasi status proses jika berjalan atau tidak, menggunakan salah satu perintah di bawah ini.

# Layanan MySQL Status atau # SystemCTL Status MySQL # PGREP MySQL # PS -AUX | grep mysql 

Itu saja untuk saat ini, dari sisi saya. Saya akan segera berada di sini lagi dengan topik lain yang menarik dan informatif. Sampai saat itu, tetap disini, terhubung ke Tecmint, dan sehat. Jangan lupa memberikan Umpan balik yang berharga Di bagian komentar.