From 3127c2cd8f7e406adf995dc64561cc3fdb6ba702 Mon Sep 17 00:00:00 2001 From: Chee Bin Hoh Date: Mon, 25 May 2026 14:55:51 -0400 Subject: [PATCH] feature/add-signal-to-int --- linux/my-shell.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/linux/my-shell.c b/linux/my-shell.c index d4aa2f4..64b01a5 100644 --- a/linux/my-shell.c +++ b/linux/my-shell.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -12,12 +13,19 @@ #include #include +static void sig_int(int signo); + int main(int argc, char *argv[]) { char buf[BUFSIZ]; int n; pid_t pid; int status; + if (signal(SIGINT, sig_int) == SIG_ERR) { + fprintf(stderr, "error in signal SIGINT: %s\n", strerror(errno)); + exit(1); + } + printf("%% "); while (fgets(buf, sizeof(buf), stdin) != NULL) { if ('\n' == buf[strlen(buf) - 1]) { @@ -43,3 +51,5 @@ int main(int argc, char *argv[]) { exit(0); } + +static void sig_int(int signo) { printf("interrupt signal: %d\n", signo); }