ntpd: default to FEATURE_NTP_AUTH=y
[oweals/busybox.git] / coreutils / nohup.c
index c9e65d2ba75833be197e8be5bb7c3e222cb34b98..ae136e085743e8c36f3f1b606715ce7381343b56 100644 (file)
@@ -1,5 +1,6 @@
 /* vi: set sw=4 ts=4: */
-/* nohup - invoke a utility immune to hangups.
+/*
+ * nohup - invoke a utility immune to hangups.
  *
  * Busybox version based on nohup specification at
  * http://www.opengroup.org/onlinepubs/007904975/utilities/nohup.html
@@ -7,19 +8,36 @@
  * Copyright 2006 Rob Landley <rob@landley.net>
  * Copyright 2006 Bernhard Reutner-Fischer
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
  */
+//config:config NOHUP
+//config:      bool "nohup (2 kb)"
+//config:      default y
+//config:      help
+//config:      run a command immune to hangups, with output to a non-tty.
+
+//applet:IF_NOHUP(APPLET_NOEXEC(nohup, nohup, BB_DIR_USR_BIN, BB_SUID_DROP, nohup))
+
+//kbuild:lib-$(CONFIG_NOHUP) += nohup.o
+
+//usage:#define nohup_trivial_usage
+//usage:       "PROG ARGS"
+//usage:#define nohup_full_usage "\n\n"
+//usage:       "Run PROG immune to hangups, with output to a non-tty"
+//usage:
+//usage:#define nohup_example_usage
+//usage:       "$ nohup make &"
 
 #include "libbb.h"
 
 /* Compat info: nohup (GNU coreutils 6.8) does this:
 # nohup true
-nohup: ignoring input and appending output to `nohup.out'
+nohup: ignoring input and appending output to 'nohup.out'
 # nohup true 1>/dev/null
 nohup: ignoring input and redirecting stderr to stdout
 # nohup true 2>zz
 # cat zz
-nohup: ignoring input and appending output to `nohup.out'
+nohup: ignoring input and appending output to 'nohup.out'
 # nohup true 2>zz 1>/dev/null
 # cat zz
 nohup: ignoring input
@@ -39,7 +57,9 @@ int nohup_main(int argc UNUSED_PARAM, char **argv)
 
        xfunc_error_retval = 127;
 
-       if (!argv[1]) bb_show_usage();
+       if (!argv[1]) {
+               bb_show_usage();
+       }
 
        /* If stdin is a tty, detach from it. */
        if (isatty(STDIN_FILENO)) {
@@ -73,6 +93,6 @@ int nohup_main(int argc UNUSED_PARAM, char **argv)
 
        signal(SIGHUP, SIG_IGN);
 
-       BB_EXECVP(argv[1], argv+1);
-       bb_simple_perror_msg_and_die(argv[1]);
+       argv++;
+       BB_EXECVP_or_die(argv);
 }