busybox/miscutils/setsid.c
Denis Vlasenko 53091ecd20 Attempt to get more applets compile for NOMMU.
TODO_config_nommu documents what I managed to compile so far
(yay! msh works! cool). inetd, telnetd, httpd still do not compile. TODO
Also make fork(), daemon() produce warnings on compile stage
(in addition to erros on link stage).
2007-03-26 13:35:09 +00:00

34 lines
722 B
C

/* vi: set sw=4 ts=4: */
/*
* setsid.c -- execute a command in a new session
* Rick Sladkey <jrs@world.std.com>
* In the public domain.
*
* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
* - added Native Language Support
*
* 2001-01-18 John Fremlin <vii@penguinpowered.com>
* - fork in case we are process group leader
*
* 2004-11-12 Paul Fox
* - busyboxed
*/
#include "busybox.h"
int setsid_main(int argc, char *argv[]);
int setsid_main(int argc, char *argv[])
{
if (argc < 2)
bb_show_usage();
/* Comment why is this necessary? */
if (getpgrp() == getpid())
forkexit_or_rexec(argv);
setsid(); /* no error possible */
BB_EXECVP(argv[1], argv + 1);
bb_perror_msg_and_die("%s", argv[1]);
}