Mercurial > hg > toybox
view toys/setsid.c @ 649:2364ace48ab1
Bugfix from Avery Pennarun: getpriority() uses a different range than nice(), so follow thenice man page and zero errno then check it if nice returns -1.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 16 Aug 2012 22:24:30 -0500 |
parents | 878b94b32866 |
children |
line wrap: on
line source
/* vi: set sw=4 ts=4: * * setsid.c - Run program in a new session ID. * * Copyright 2006 Rob Landley <rob@landley.net> * * Not in SUSv4. USE_SETSID(NEWTOY(setsid, "^<1t", TOYFLAG_USR|TOYFLAG_BIN)) config SETSID bool "setsid" default y help usage: setsid [-t] command [args...] Run process in a new session. -t Grab tty (become foreground process, receiving keyboard signals) */ #include "toys.h" void setsid_main(void) { while (setsid()<0) if (vfork()) _exit(0); if (toys.optflags) { setpgid(0,0); tcsetpgrp(0, getpid()); } xexec(toys.optargs); }