setsid: add optional -f to force fork()
This commit is contained in:
parent
991ff90064
commit
0df09d5ba0
3
setsid.1
3
setsid.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
|
||||
|
9
setsid.c
9
setsid.c
@ -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:");
|
||||
|
Loading…
Reference in New Issue
Block a user