moby/runconfig
Michael Crosby ee3ac3aa66 Add init process for zombie fighting
This adds a small C binary for fighting zombies.  It is mounted under
`/dev/init` and is prepended to the args specified by the user.  You
enable it via a daemon flag, `dockerd --init`, as it is disable by
default for backwards compat.

You can also override the daemon option or specify this on a per
container basis with `docker run --init=true|false`.

You can test this by running a process like this as the pid 1 in a
container and see the extra zombie that appears in the container as it
is running.

```c

int main(int argc, char ** argv) {
	pid_t pid = fork();
	if (pid == 0) {
		pid = fork();
		if (pid == 0) {
			exit(0);
		}
		sleep(3);
		exit(0);
	}
	printf("got pid %d and exited\n", pid);
	sleep(20);
}
```

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-19 17:33:50 -07:00
..
fixtures Move the runconfig.Parse() function into the runconfig/opts package. 2016-01-04 12:06:29 -05:00
opts Add init process for zombie fighting 2016-09-19 17:33:50 -07:00
compare.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
compare_test.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
config.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
config_test.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
config_unix.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
config_windows.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
errors.go Move errors/ to api/errors 2016-09-16 12:27:13 -04:00
hostconfig.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
hostconfig_solaris.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
hostconfig_test.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
hostconfig_unix.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
hostconfig_windows.go Add engine-api types to docker 2016-09-07 11:05:58 -07:00
streams.go Improve performance/reduce allocs of bytespipe 2016-04-05 13:06:04 -04:00