~mcf/sbase

0df09d5ba02a46b3886989f11dac060fb53ba619 — Hiltjo Posthuma 4 months ago 991ff90
setsid: add optional -f to force fork()
2 files changed, 9 insertions(+), 3 deletions(-)

M setsid.1
M setsid.c
M setsid.1 => setsid.1 +2 -1
@@ 1,4 1,4 @@
.Dd 2015-10-08
.Dd 2020-07-14
.Dt SETSID 1
.Os sbase
.Sh NAME


@@ 6,6 6,7 @@
.Nd run a command in a new session
.Sh SYNOPSIS
.Nm
.Op Fl f
.Ar cmd
.Op Ar arg ...
.Sh DESCRIPTION

M setsid.c => setsid.c +7 -2
@@ 4,10 4,12 @@

#include "util.h"

static int fflag = 0;

static void
usage(void)
{
	eprintf("usage: %s cmd [arg ...]\n", argv0);
	eprintf("usage: %s cmd [-f] [arg ...]\n", argv0);
}

int


@@ 16,6 18,9 @@ main(int argc, char *argv[])
	int savederrno;

	ARGBEGIN {
	case 'f':
		fflag = 1;
		break;
	default:
		usage();
	} ARGEND


@@ 23,7 28,7 @@ main(int argc, char *argv[])
	if (!argc)
		usage();

	if (getpgrp() == getpid()) {
	if (fflag || getpgrp() == getpid()) {
		switch (fork()) {
		case -1:
			eprintf("fork:");