1/* setsid.c - Run program in a new session ID. 2 * 3 * Copyright 2006 Rob Landley <rob@landley.net> 4 5USE_SETSID(NEWTOY(setsid, "^<1t", TOYFLAG_USR|TOYFLAG_BIN)) 6 7config SETSID 8 bool "setsid" 9 default y 10 help 11 usage: setsid [-t] command [args...] 12 13 Run process in a new session. 14 15 -t Grab tty (become foreground process, receiving keyboard signals) 16*/ 17 18#include "toys.h" 19 20void setsid_main(void) 21{ 22 while (setsid()<0) if (XVFORK()) _exit(0); 23 if (toys.optflags) { 24 setpgid(0, 0); 25 tcsetpgrp(0, getpid()); 26 } 27 xexec(toys.optargs); 28} 29