setsid: add optional -f to force fork()

This commit is contained in:
Hiltjo Posthuma 2020-07-14 10:15:43 +02:00 committed by Michael Forney
parent 991ff90064
commit 0df09d5ba0
2 changed files with 9 additions and 3 deletions

View File

@ -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

View File

@ -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:");