GNU/Linux >> Belajar Linux >  >> Linux

Apa perbedaan antara kill , pkill dan killall?

kill perintah adalah pembungkus yang sangat sederhana untuk kill panggilan sistem , yang hanya mengetahui tentang ID proses (PID). pkill dan killall juga merupakan pembungkus kill panggilan sistem , (sebenarnya, ke pustaka libc yang secara langsung memanggil panggilan sistem), tetapi dapat menentukan PID untuk Anda, berdasarkan hal-hal seperti, nama proses, pemilik proses, id sesi, dll.

Bagaimana pkill dan killall pekerjaan dapat dilihat menggunakan ltrace atau strace pada mereka. Di Linux, keduanya membaca /proc sistem file, dan untuk setiap pid (direktori) yang ditemukan, melintasi jalur dengan cara mengidentifikasi proses dengan namanya atau atribut lainnya. Bagaimana ini dilakukan secara teknis, khusus kernel dan sistem. Secara umum, mereka membaca dari /proc/<PID>/stat yang berisi nama perintah sebagai bidang ke-2. Untuk pkill -f dan pgrep periksa /cmdline entri untuk setiap entri proc PID.

pkill dan pgrep gunakan readproc panggilan sistem, sedangkan killall tidak. Saya tidak dapat mengatakan apakah ada perbedaan performa:Anda harus mengukurnya sendiri.


kill dan killall adalah alat yang menyediakan cara untuk mematikan suatu proses. Yang pertama dengan PID-nya, yang kedua dengan namanya.pgrep (daftar) dan pkill (kill secara default) adalah alat yang menyediakan cara untuk mengirim pesan ke proses dengan namanya atau atribut lainnyalihat:http://linux.die. net/man/1/pkillUntuk info lebih lanjut tentang sinyal:http://linux.die.net/man/7/signal


Linux
  1. Perbedaan Antara [[ $a ==Z* ]] Dan [ $a ==Z* ]?

  2. Apa perbedaan antara strtok_r dan strtok_s di C?

  3. Apa perbedaan antara fsck dan e2fsck?

  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. Apa perbedaan antara adduser dan useradd?

  3. Apa perbedaan antara $(CC) dan $CC?

  1. Perbedaan Kill, Pkill, dan Killall?

  2. Apa perbedaan antara ls dan l?

  3. Apa perbedaan antara Non-preemptive, Preemptive dan Selective Preemptive Kernel?