projects
/
m6w6
/
btr
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
history
|
raw
|
HEAD
OSX compatibility
[m6w6/btr]
/
bin
/
btr-setsid.c
1
#include <unistd.h>
2
#include <stdlib.h>
3
#include <stdio.h>
4
5
int
main
(
int
argc
,
char
*
argv
[])
6
{
7
if
(
argc
<
2
) {
8
fprintf
(
stderr
,
"Usage: %s <program> [args...]
\n
"
,
argv
[
0
]);
9
return
EXIT_FAILURE
;
10
}
11
12
if
(
getpid
() ==
getpgrp
()) {
13
pid_t pid
=
fork
();
14
15
switch
(
pid
) {
16
case
0
:
17
break
;
18
case
-
1
:
19
perror
(
"fork"
);
20
return
EXIT_FAILURE
;
21
default
:
22
return
EXIT_SUCCESS
;
23
}
24
}
25
26
if
(
setsid
() <
0
) {
27
perror
(
"setsid"
);
28
return
EXIT_FAILURE
;
29
}
30
31
execvp
(
argv
[
1
], &
argv
[
1
]);
32
perror
(
"exec"
);
33
return
EXIT_FAILURE
;
34
}