Il sistema di sistema Kill () in linguaggio C viene utilizzato dal sistema operativo per inviare un segnale di interruzione a un processo, spingendolo a uscire. D'altra parte, una chiamata di sistema di uccisione non implica sempre che il processo venga terminato; Potrebbe avere una varietà di significati. Utilizzando la funzione di sistema "kill ()", un processo può segnalare un nuovo processo. La chiamata di sistema Kill () è ampiamente utilizzata per trasmettere segnali a programmi multithread o processi tradizionali. Sulla base dei suoi valori numerici, il parametro PID intero ha molteplici implicazioni. Se il valore PID è superiore a zero, il segnale SIG viene emesso al gruppo di thread del processo il cui PID corrisponde al PID. Se il valore PID è uguale a zero, il segnale SIG viene trasmesso a tutti i gruppi di thread nello stesso gruppo di processo del processo chiamante. Se il PID è uguale a -1, ad eccezione di swapper (PID 0), init (PID 1) e corrente, il segnale viene dato a tutti i processi.
In questa guida, spiegheremo l'implementazione del sistema di sistema Kill () in lingua C.
Prerequisiti:
Nota: Stiamo usando Ubuntu 20.04 Sistema Linux.
Esempio per Kill () Sistema Chiama in C
Cominciamo con un breve e semplice esempio per chiarire il nostro concetto di chiamata di sistema Kill (). Per questo, dobbiamo avere un .File C nel nostro sistema. Come è già affermato che stiamo utilizzando Ubuntu 20.04 Sistema Linux, quindi creeremo a .File C usando la shell. In primo luogo, avvia la shell cercandola nell'applicazione di Ubuntu 20.04 Sistema Linux o utilizzando il tasto "Ctrl+Alt+T". Una volta che si ottiene l'accesso alla shell, eseguire il comando di seguito nella console.
$ nano uccisione.C
Il nome del file nel nostro caso è "uccidere.C". Tuttavia, sta a te nominare il tuo file secondo la tua scelta. Al momento dell'implementazione del comando sopra elencato, l'editor GNU Nano verrà visualizzato sullo schermo. Devi scrivere un codice simile come visualizzato nello screenshot sotto attacco. Tuttavia, a seconda dei requisiti di lavoro, il codice può essere facilmente modificato.
L'int argc (conteggio degli argomenti) contiene l'importo degli argomenti della riga di comando forniti dall'utente, come il nome del programma. Se diamo un valore al programma, il valore di Argc sarà due; uno per l'argomento e uno per il nome del programma. Il valore Argc non dovrebbe essere negativo. Argv (argomento vettoriale) è un array di puntatore del personaggio che contiene tutti gli argomenti. Nella funzione printf, abbiamo usato getpid ().
La funzione getPid () viene utilizzata per ottenere l'ID processo del processo che lo chiama. Il PID per il processo iniziale è 1 e ogni processo successivo viene dato un ID diverso. È un metodo semplice per ottenere il PID. Questa funzione ti aiuta esclusivamente a ottenere identificatori di processo univoci. L'Unistd.La libreria H, un collegamento della libreria standard UNIX, fornisce la funzione Sleep (). Vogliamo dormire per 5 secondi in questo scenario. Il parametro sarà 5, che è un numero intero. L'abbreviazione SIGSEGV sta per "violazione della segmentazione."Quando un programma cerca di scrivere/leggere al di fuori della memoria assegnata ad esso o quando si scrive memoria che può essere letto solo, si verifica SigSegv. L'abbreviazione SIGSEGV sta per "violazione della segmentazione". Dopo aver scritto il codice, è tempo per l'esecuzione e la compilation.
Esegui il comando sotto indicato nella console di Ubuntu 20.04 Sistema Linux.
$ GCC Kill.C
Non ci sarà alcun output di questo comando. Ora, per ottenere l'output del comando sopra scritto, eseguire il comando sotto indicato nella console di Ubuntu 20.04 Sistema Linux.
$ ./UN.fuori
Puoi verificare che l'output sia stato visualizzato sulla shell.
Conclusione
Questo articolo ti ha fornito una breve descrizione della chiamata di sistema Kill () in C. L'uso del sistema di sistema Kill () in C è stato fornito in dettaglio. Abbiamo eseguito uno degli esempi per chiarire il concetto. Spero che questo programma ti gioverà nell'esecuzione efficace del tuo codice.