From 38e5f07c0f93e333b35cffc9bb902de599a3bef9 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Mon, 23 Sep 2013 15:10:12 -0700 Subject: toolbox: Add nohup command Change-Id: I2f7d9934b54d98886d7a6205ea122d9ce91066ec Signed-off-by: Dmitry Shmidt --- toolbox/Android.mk | 1 + toolbox/nohup.c | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 toolbox/nohup.c diff --git a/toolbox/Android.mk b/toolbox/Android.mk index 77df4d4..6bac5f5 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -39,6 +39,7 @@ TOOLS := \ nandread \ netstat \ newfs_msdos \ + nohup \ notify \ printenv \ ps \ diff --git a/toolbox/nohup.c b/toolbox/nohup.c new file mode 100644 index 0000000..363999d --- /dev/null +++ b/toolbox/nohup.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include + +int nohup_main(int argc, char *argv[]) +{ + if (argc < 2) { + fprintf(stderr, "Usage: %s [-n] program args...\n", argv[0]); + return EXIT_FAILURE; + } + signal(SIGHUP, SIG_IGN); + argv++; + if (strcmp(argv[0], "-n") == 0) { + argv++; + signal(SIGINT, SIG_IGN); + signal(SIGSTOP, SIG_IGN); + signal(SIGTTIN, SIG_IGN); + signal(SIGTTOU, SIG_IGN); + signal(SIGQUIT, SIG_IGN); + signal(SIGTERM, SIG_IGN); + } + execvp(argv[0], argv); + perror(argv[0]); + return EXIT_FAILURE; +} -- cgit v1.1