/* nohup - invoke a utility immune to hangups.
*
* Busybox version based on nohup specification at
- * http://www.opengroup.org/onlinepubs/007904975/utilities/sed.html
+ * http://www.opengroup.org/onlinepubs/007904975/utilities/nohup.html
*
* Copyright 2006 Rob Landley <rob@landley.net>
*
*/
#include <fcntl.h>
+#include <signal.h>
#include <unistd.h>
#include "busybox.h"
int temp, nullfd;
char *nohupout = "nohup.out", *home = NULL;
+ // I have no idea why the standard cares about this.
+
+ bb_default_error_retval = 127;
+
if (argc<2) bb_show_usage();
nullfd = bb_xopen(bb_dev_null, O_WRONLY|O_APPEND);
temp = isatty(2);
if (temp) fdprintf(2,"Writing to %s\n", home ? home : nohupout);
dup2(temp ? 1 : nullfd, 2);
-
close(nullfd);
+ signal (SIGHUP, SIG_IGN);
// Exec our new program.