aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-04-19 17:26:34 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-04-19 17:26:34 +0000
commit05a6d9cbb202b8aa7379e39dfd09baccfbfc6c4b (patch)
treeb520bc162f092155e277ccd1151ca370529ccdd5 /shell
parent8581863a1b536e2db20036e680b58cc07c54ad55 (diff)
downloadbusybox-w32-05a6d9cbb202b8aa7379e39dfd09baccfbfc6c4b.tar.gz
busybox-w32-05a6d9cbb202b8aa7379e39dfd09baccfbfc6c4b.tar.bz2
busybox-w32-05a6d9cbb202b8aa7379e39dfd09baccfbfc6c4b.zip
doc: add README on shell job control
Diffstat (limited to 'shell')
-rw-r--r--shell/README.job237
1 files changed, 237 insertions, 0 deletions
diff --git a/shell/README.job b/shell/README.job
new file mode 100644
index 000000000..b29d31588
--- /dev/null
+++ b/shell/README.job
@@ -0,0 +1,237 @@
1strace of "sleep 1 | sleep 2" being run from interactive bash 3.0
2
3
4Synopsis:
5get current signal mask
6install default handlers for GHLD QUIT TERM
7install common handler for HUP INT ILL TRAP ABRT FPE BUS SEGV SYS PIPE ALRM TERM XCPU XFSZ VTALRM USR1 USR2
8ignore QUIT
9install handler for INT
10ignore TERM
11install handler for INT
12ignore TSTP TTOU TTIN
13install handler for WINCH
14get pid, ppid
15block all signals
16unblock all signals
17get our pprocess group
18 minidoc:
19 Each process group is a member of a session and each process is a member
20 of the session of which its process group is a member.
21 Process groups are used for distribution of signals, and by terminals
22 to arbitrate requests for their input: processes that have the same
23 process group as the terminal are foreground and may read, while others
24 will block with a signal if they attempt to read. These calls are thus used
25 by programs (shells) to create process groups in implementing job control.
26 The TIOCGPGRP and TIOCSPGRP calls described in termios(3) are used to get/set
27 the process group of the control terminal.
28 If a session has a controlling terminal, CLOCAL is not set and a hangup occurs,
29 then the session leader is sent a SIGHUP. If the session leader exits,
30 the SIGHUP signal will be sent to each process in the foreground process
31 group of the controlling terminal.
32 If the exit of the process causes a process group to become orphaned,
33 and if any member of the newly-orphaned process group is stopped, then a SIGHUP
34 signal followed by a SIGCONT signal will be sent to each process
35 in the newly-orphaned process group.
36...
37
38
39
40execve("/bin/sh", ["sh"], [/* 34 vars */]) = 0
41rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
42rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0
43rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0
44rt_sigaction(SIGTERM, {SIG_DFL}, {SIG_DFL}, 8) = 0
45rt_sigaction(SIGHUP, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
46rt_sigaction(SIGINT, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
47rt_sigaction(SIGILL, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
48rt_sigaction(SIGTRAP, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
49rt_sigaction(SIGABRT, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
50rt_sigaction(SIGFPE, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
51rt_sigaction(SIGBUS, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
52rt_sigaction(SIGSEGV, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
53rt_sigaction(SIGSYS, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
54rt_sigaction(SIGPIPE, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
55rt_sigaction(SIGALRM, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
56rt_sigaction(SIGTERM, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
57rt_sigaction(SIGXCPU, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
58rt_sigaction(SIGXFSZ, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
59rt_sigaction(SIGVTALRM, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
60rt_sigaction(SIGUSR1, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
61rt_sigaction(SIGUSR2, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
62rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
63rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
64rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
65rt_sigaction(SIGTERM, {SIG_IGN}, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
66rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
67rt_sigaction(SIGTSTP, {SIG_IGN}, {SIG_DFL}, 8) = 0
68rt_sigaction(SIGTTOU, {SIG_IGN}, {SIG_DFL}, 8) = 0
69rt_sigaction(SIGTTIN, {SIG_IGN}, {SIG_DFL}, 8) = 0
70rt_sigaction(SIGWINCH, {0x807dc33, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
71getpid() = 19473
72getppid() = 19472
73rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
74rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
75getpgrp() = 1865
76dup(2) = 4
77fcntl64(255, F_GETFD) = -1 EBADF (Bad file descriptor)
78dup2(4, 255) = 255
79close(4) = 0
80ioctl(255, TIOCGPGRP, [1865]) = 0
81getpid() = 19473
82setpgid(0, 19473) = 0
83rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [], 8) = 0
84ioctl(255, TIOCSPGRP, [19473]) = 0
85rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
86fcntl64(255, F_SETFD, FD_CLOEXEC) = 0
87rt_sigaction(SIGCHLD, {0x807c922, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_DFL}, 8) = 0
88rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
89fcntl64(0, F_GETFL) = 0x2 (flags O_RDWR)
90...
91rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
92rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
93rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [], 8) = 0
94ioctl(255, TIOCSPGRP, [19473]) = 0
95rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
96rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
97rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
98rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
99rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
100rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
101rt_sigaction(SIGINT, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
102rt_sigaction(SIGTERM, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
103rt_sigaction(SIGTERM, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
104rt_sigaction(SIGQUIT, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
105rt_sigaction(SIGQUIT, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
106rt_sigaction(SIGALRM, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
107rt_sigaction(SIGTSTP, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
108rt_sigaction(SIGTSTP, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
109rt_sigaction(SIGTTOU, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
110rt_sigaction(SIGTTOU, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
111rt_sigaction(SIGTTIN, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
112rt_sigaction(SIGTTIN, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
113rt_sigaction(SIGWINCH, {0x80ca5cd, [], SA_RESTORER|SA_RESTART, 0x6ff7a4f8}, {0x807dc33, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
114rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
115rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
116rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
117rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
118rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
119rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
120write(2, "sh-3.00# ", 9) = 9
121rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
122read(0, "s", 1) = 1
123write(2, "s", 1) = 1
124rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
125read(0, "l", 1) = 1
126write(2, "l", 1) = 1
127rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
128... rest of "sleep 1 | sleep 2" entered...
129rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
130read(0, "2", 1) = 1
131write(2, "2", 1) = 1
132rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
133read(0, "\r", 1) = 1
134write(2, "\n", 1) = 1
135rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
136ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
137rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
138rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
139rt_sigaction(SIGTERM, {SIG_IGN}, {SIG_IGN}, 8) = 0
140rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_IGN}, 8) = 0
141rt_sigaction(SIGALRM, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
142rt_sigaction(SIGTSTP, {SIG_IGN}, {SIG_IGN}, 8) = 0
143rt_sigaction(SIGTTOU, {SIG_IGN}, {SIG_IGN}, 8) = 0
144rt_sigaction(SIGTTIN, {SIG_IGN}, {SIG_IGN}, 8) = 0
145rt_sigaction(SIGWINCH, {0x807dc33, [], SA_RESTORER, 0x6ff7a4f8}, {0x80ca5cd, [], SA_RESTORER|SA_RESTART, 0x6ff7a4f8}, 8) = 0
146rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
147rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
148pipe([4, 5]) = 0
149rt_sigprocmask(SIG_BLOCK, [INT CHLD], [CHLD], 8) = 0
150fork() = 19755
151setpgid(19755, 19755) = 0
152rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
153close(5) = 0
154rt_sigprocmask(SIG_BLOCK, [INT CHLD], [CHLD], 8) = 0
155fork() = 19756
156setpgid(19756, 19755) = 0
157rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
158close(4) = 0
159rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
160rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [CHLD], 8) = 0
161ioctl(255, TIOCSPGRP, [19755]) = 0
162rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
163rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
164rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
165wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WUNTRACED, NULL) = 19755
166wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WUNTRACED, NULL) = 19756
167rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [CHLD], 8) = 0
168ioctl(255, TIOCSPGRP, [19473]) = 0
169rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
170rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
171rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
172--- SIGCHLD (Child exited) @ 0 (0) ---
173wait4(-1, 0x77fc9c54, WNOHANG|WUNTRACED, NULL) = -1 ECHILD (No child processes)
174sigreturn() = ? (mask now [])
175rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
176rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
177rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [], 8) = 0
178ioctl(255, TIOCSPGRP, [19473]) = 0
179rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
180rt_sigaction(SIGINT, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
181rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
182rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
183rt_sigaction(SIGINT, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
184rt_sigaction(SIGTERM, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
185rt_sigaction(SIGTERM, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
186rt_sigaction(SIGQUIT, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
187rt_sigaction(SIGQUIT, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
188rt_sigaction(SIGALRM, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {0x808f752, [HUP INT ILL TRAP ABRT BUS FPE USR1 SEGV USR2 PIPE ALRM TERM XCPU XFSZ VTALRM SYS], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
189rt_sigaction(SIGTSTP, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
190rt_sigaction(SIGTSTP, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
191rt_sigaction(SIGTTOU, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
192rt_sigaction(SIGTTOU, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
193rt_sigaction(SIGTTIN, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, {SIG_IGN}, 8) = 0
194rt_sigaction(SIGTTIN, {SIG_IGN}, {0x80ca530, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
195rt_sigaction(SIGWINCH, {0x80ca5cd, [], SA_RESTORER|SA_RESTART, 0x6ff7a4f8}, {0x807dc33, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
196write(2, "sh-3.00# ", 9) = 9
197
198
199getpid() = 19755
200rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
201rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_IGN}, 8) = 0
202rt_sigaction(SIGTTIN, {SIG_DFL}, {SIG_IGN}, 8) = 0
203rt_sigaction(SIGTTOU, {SIG_DFL}, {SIG_IGN}, 8) = 0
204setpgid(19755, 19755) = 0
205rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [], 8) = 0
206ioctl(255, TIOCSPGRP, [19755]) = 0
207rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
208close(4) = 0
209dup2(5, 1) = 1
210close(5) = 0
211rt_sigaction(SIGINT, {SIG_DFL}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
212rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
213rt_sigaction(SIGTERM, {SIG_DFL}, {SIG_IGN}, 8) = 0
214rt_sigaction(SIGCHLD, {SIG_DFL}, {0x807c922, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
215execve("/bin/sleep", ["sleep", "1"], [/* 34 vars */]) = 0
216...
217_exit(0) = ?
218
219
220getpid() = 19756
221rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
222rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_IGN}, 8) = 0
223rt_sigaction(SIGTTIN, {SIG_DFL}, {SIG_IGN}, 8) = 0
224rt_sigaction(SIGTTOU, {SIG_DFL}, {SIG_IGN}, 8) = 0
225setpgid(19756, 19755) = 0
226rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [], 8) = 0
227ioctl(255, TIOCSPGRP, [19755]) = 0
228rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
229dup2(4, 0) = 0
230close(4) = 0
231rt_sigaction(SIGINT, {SIG_DFL}, {0x808f7d7, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
232rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
233rt_sigaction(SIGTERM, {SIG_DFL}, {SIG_IGN}, 8) = 0
234rt_sigaction(SIGCHLD, {SIG_DFL}, {0x807c922, [], SA_RESTORER, 0x6ff7a4f8}, 8) = 0
235execve("/bin/sleep", ["sleep", "2"], [/* 34 vars */]) = 0
236...
237_exit(0) = ?