diff options
| author | Louis Burda <quent.burda@gmail.com> | 2023-03-07 13:09:11 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2023-03-07 13:12:58 +0100 |
| commit | 2b921f50ae0cb12589cdbb01589b662bf38999f1 (patch) | |
| tree | 8d0b1c04ba99b5f3529ecd2b80a82b073a846903 | |
| download | waitdbg-2b921f50ae0cb12589cdbb01589b662bf38999f1.tar.gz waitdbg-2b921f50ae0cb12589cdbb01589b662bf38999f1.zip | |
Initial version
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Makefile | 17 | ||||
| -rw-r--r-- | waitdbg.c | 23 |
3 files changed, 41 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..33a2990 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +waitdbg diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a9d062b --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +PREFIX ?= /usr/local +BINDIR ?= /bin + +all: waitdbg + +clean: + rm -f waitdbg + +waitdbg: waitdbg.c + +install: + install -m755 waitdbg -t "$(DESTDIR)$(PREFIX)$(BINDIR)" + +uninstall: + rm "$(DESTDIR)$(PREFIX)$(BINDIR)/waitdbg" + +.PHONY: all clean install uninstall diff --git a/waitdbg.c b/waitdbg.c new file mode 100644 index 0000000..ec07199 --- /dev/null +++ b/waitdbg.c @@ -0,0 +1,23 @@ +#include <unistd.h> +#include <signal.h> +#include <err.h> +#include <stdio.h> +#include <stdlib.h> + +int +main(int argc, const char **argv) +{ + int ret; + + if (argc < 2) { + printf("Usage: waitdbg CMD [ARG]..\n"); + return 0; + } + + fprintf(stderr, "waitdbg: pid %u (%s)\n", getpid(), argv[1]); + + raise(SIGSTOP); + + ret = execv(argv[1], (void *) &argv[1]); + if (!ret) err(1, "execv %s", argv[1]); +} |
