Junior — Middle
Linux işletim sisteminde sinyallerin ne olduğunu ve bunlarla nasıl çalışılacağını açıklayın
sobes.tech yapay zeka
AI'dan gelen yanıt
Linux'ta sinyaller, süreçlere olaylar hakkında eşzamansız bildirim mekanizmasıdır (örneğin, kesinti, çocuk sürecin sonlandırılması, zaman aşımı).
Ana noktalar:
- Sinyaller sayısal tanımlayıcılara sahiptir (örneğin, SIGINT, SIGTERM).
- Bir süreç, bir sinyal işleyici kullanarak sinyali işleyebilir veya görmezden gelebilir.
- Eğer sinyal işlenmezse, varsayılan işlem uygulanır (örneğin, süreci sonlandırmak).
C dilinde SIGINT (Ctrl+C) sinyalinin işlenmesine örnek:
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
void handler(int signum) {
printf("Sinyal %d alındı, kapanıyor...\n", signum);
_exit(0);
}
int main() {
signal(SIGINT, handler);
while(1) {
printf("Çalışıyoruz...\n");
sleep(1);
}
return 0;
}
Shell'de, kill komutu ile PID kullanılarak sinyaller gönderilebilir, örneğin kill -SIGTERM 1234.