34 lines
812 B
C
34 lines
812 B
C
typedef int __pid_t;
|
|
extern __pid_t fork (void) ;
|
|
extern int printf (__const char *__restrict __format, ...) ;
|
|
extern char *strerror (int __errnum) ;
|
|
extern int errno;
|
|
extern int *__errno_location (void) __attribute__ ((__const__));
|
|
extern void _exit (int __status) __attribute__ ((__noreturn__));
|
|
extern void exit (int __status) __attribute__ ((__noreturn__));
|
|
extern int close (int __fd) ;
|
|
extern int dup (int __fd) ;
|
|
extern int open (__const char *__file, int __oflag, ...) ;
|
|
|
|
|
|
char myname[]="foo";
|
|
|
|
detach()
|
|
{
|
|
switch(fork()) {
|
|
case -1:
|
|
printf("%s: Error: fork - %s\n",myname, strerror((*__errno_location ()) ));
|
|
exit(255);
|
|
case 0:
|
|
|
|
close(0);
|
|
close(1);
|
|
close(2);
|
|
dup(dup(open("/dev/null", 02 )));
|
|
return;
|
|
default:
|
|
|
|
_exit(0);
|
|
}
|
|
}
|