Pike v8.0 release 1738

Method Process.daemon()


Method daemon

void daemon(int nochdir, int noclose, void|mapping(string:string|Stdio.File) modifiers)

Description

A function to run current program in the background.

Parameter nochdir

If 0 the process will continue to run in / or the directory dictadet by modifiers.

Parameter noclose

If this is not 0 the process will keep current file descriptors open.

Parameter modifiers

Optional extra arguments. The parameters passed in this mapping will override the arguments nochdir and noclose.

"cwd" : string

Change current working directory to this directory.

"stdin" : string|Stdio.File

If this is a string this will be interpreted as a filename pointing out a file to be used as stdandard input to the process. If this is a Stdio.File object the process will use this as standard input.

"stdout" : string|Stdio.File

If this is a string this will be interpreted as a filename pointing out a file to be used as stdandard output to the process. If this is a Stdio.File object the process will use this as standard output.

"stderr" : string|Stdio.File

If this is a string this will be interpreted as a filename pointing out a file to be used as stdandard error to the process. If this is a Stdio.File object the process will use this as standard error.

See also

System.daemon

Note

This function only works on UNIX-like operating systems.

Example

/* close all fd:s and cd to '/' */ Process.daemon(0, 0);

/* Do not change working directory. Write stdout to a file called access.log and stderr to error.log. */ Process.daemon(1, 0, ([ "stdout": "access.log", "stderr": "error.log" ]) );