1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 02:27:43 +00:00

Userland+LibC: Add "kill -l" to show all known signal names/numbers

This commit is contained in:
Andreas Kling 2020-10-29 12:52:11 +01:00
parent 662959b173
commit 77e9eadd9d
3 changed files with 20 additions and 0 deletions

View file

@ -236,4 +236,13 @@ int getsignalbyname(const char* name)
errno = EINVAL;
return -1;
}
const char* getsignalname(int signal)
{
if (signal < 0 || signal >= NSIG) {
errno = EINVAL;
return nullptr;
}
return signal_names[signal];
}
}

View file

@ -76,6 +76,7 @@ int sigpending(sigset_t*);
int sigsuspend(const sigset_t*);
int raise(int sig);
int getsignalbyname(const char*);
const char* getsignalname(int);
extern const char* sys_siglist[NSIG];

View file

@ -46,6 +46,16 @@ int main(int argc, char** argv)
return 1;
}
if (argc == 2 && !strcmp(argv[1], "-l")) {
for (size_t i = 0; i < NSIG; ++i) {
if (i && !(i % 5))
outln("");
new_out("{:2}) {:10}", i, getsignalname(i));
}
outln("");
return 0;
}
if (argc != 2 && argc != 3)
print_usage_and_exit();
unsigned signum = SIGTERM;