1/*
2 * Permission to use, copy, modify, and/or distribute this software for
3 * any purpose with or without fee is hereby granted.
4 *
5 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
6 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
7 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
8 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
10 * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
11 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
12 */
13
14#include <sys/types.h>
15#include <sys/wait.h>
16#include <fcntl.h>
17#include <unistd.h>
18#include <stdlib.h>
19#include <string.h>
20#include <stdio.h>
21
22int main(void) {
23	if (fork()) {
24		int err;
25		wait(&err);
26		return (err);
27	}
28
29	char buf[64];
30	sprintf(buf, "/tmp/zts-zed_fd_spill-logdir/%d", getppid());
31	dup2(creat(buf, 0644), STDOUT_FILENO);
32
33	snprintf(buf, sizeof (buf), "/proc/%d/fd", getppid());
34	execlp("ls", "ls", buf, NULL);
35	_exit(127);
36}
37