summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--strace.112
-rw-r--r--strace.c6
2 files changed, 14 insertions, 4 deletions
diff --git a/strace.1 b/strace.1
index a98b9f9..95fee64 100644
--- a/strace.1
+++ b/strace.1
@@ -43,7 +43,7 @@ strace \- trace system calls and signals
.SH SYNOPSIS
.B strace
[
-.B \-CdffhiqrtttTvxx
+.B \-CdDffhiqrtttTvxx
]
[
.BI \-a column
@@ -84,6 +84,9 @@ strace \- trace system calls and signals
.B strace
.B \-c
[
+.B \-D
+]
+[
.BI \-e expr
]
\&...
@@ -255,6 +258,13 @@ Like
.B \-c
but also print regular output while processes are running.
.TP
+.B \-D
+(Not available on SVR4 and FreeBSD.)
+Run tracer process as a detached grandchild, not as parent of the
+tracee. This reduces the visible effect of
+.B strace
+by keeping the tracee a direct child of the calling process.
+.TP
.B \-d
Show some debugging output of
.B strace
diff --git a/strace.c b/strace.c
index 40f8907..c83d8af 100644
--- a/strace.c
+++ b/strace.c
@@ -168,12 +168,13 @@ FILE *ofp;
int exitval;
{
fprintf(ofp, "\
-usage: strace [-dffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file]\n\
+usage: strace [-CdDffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file]\n\
[-p pid] ... [-s strsize] [-u username] [-E var=val] ...\n\
[command [arg ...]]\n\
- or: strace -c -D [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ...\n\
+ or: strace -c [-D] [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ...\n\
[command [arg ...]]\n\
-c -- count time, calls, and errors for each syscall and report summary\n\
+-C -- like -c but also print regular output while processes are running\n\
-f -- follow forks, -ff -- with output into separate files\n\
-F -- attempt to follow vforks, -h -- print help message\n\
-i -- print instruction pointer at time of syscall\n\
@@ -746,7 +747,6 @@ main(int argc, char *argv[])
debug++;
break;
#ifndef USE_PROCFS
- /* Experimental, not documented in manpage yet. */
case 'D':
daemonized_tracer = 1;
break;