Mercurial > hg > toybox
view toys/other/setsid.c @ 689:c29e69a0e85e
On 32 bit platforms %ld doesn't match uint64_t, so do long long and %lld (rather than deal with verbose PRIu64 nonsense).
author | Rob Landley <rob@landley.net> |
---|---|
date | Sat, 10 Nov 2012 18:24:14 -0600 |
parents | 6df4ccc0acbe |
children | 786841fdb1e0 |
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> 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); }