GNU/Linux >> Linux Esercitazione >  >> Linux

Qual è la differenza tra kill , pkill e killall?

Il kill comando è un wrapper molto semplice per il kill chiamata di sistema , che conosce solo gli ID di processo (PID). pkill e killall sono anche wrapper per il kill chiamata di sistema , (in realtà, alla libreria libc che richiama direttamente la chiamata di sistema), ma può determinare i PID per te, in base a cose come nome del processo, proprietario del processo, ID di sessione, ecc.

Come pkill e killall il lavoro può essere visto usando ltrace o strace su di essi. Su Linux, entrambi leggono il /proc filesystem, e per ogni pid (directory) trovato, attraversa il percorso in modo da identificare un processo con il suo nome o altri attributi. Il modo in cui ciò viene fatto è tecnicamente parlando, specifico del kernel e del sistema. In generale, leggono da /proc/<PID>/stat che contiene il nome del comando come secondo campo. Per pkill -f e pgrep esamina il /cmdline voce per ogni voce proc di PID.

pkill e pgrep usa il readproc chiamata di sistema, mentre killall non. Non saprei dire se c'è una differenza di prestazioni:dovrai confrontarla da solo.


kill e killall sono strumenti che forniscono un modo per terminare un processo. Il primo tramite il suo PID, il secondo tramite il suo nome.pgrep (lista) e pkill (kill per impostazione predefinita) sono strumenti che forniscono un modo per inviare un messaggio a un processo tramite il suo nome o altri attributi vedi:http://linux.die. net/man/1/pkillPer maggiori informazioni sui segnali:http://linux.die.net/man/7/signal


Linux
  1. Qual è la differenza tra fsck ed e2fsck?

  2. Qual è la differenza tra ls e l?

  3. Qual è la differenza tra kernel preventivo non preventivo, preventivo e selettivo?

  4. Qual è la differenza tra pkill e killall?

  5. Qual è la differenza tra `su -` e `su --login`?

Qual è la differenza tra Linux e Unix?

Qual è la differenza tra Login e Non-Login Shell

Qual è la differenza tra il comando apt e apt-get?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra curl e Wget?

Qual è la differenza tra i comandi kill e killall?