On Tue, Jun 16, 2009 at 12:23:46PM -0700, Shawn Clifford wrote: > I'd like to modify the executable name for the process that is running > Dtrace. I have a Dtrace script running in the background all the > time, and would like to wipeout the 'dtrace -s ...' and replace it > with a single string. > > I've tried the following, which of course doesn't work. Can this even > be done? > > #!/usr/sbin/dtrace -s > > #pragma D option destructive > #pragma D option quiet > > dtrace:::BEGIN > { > self->parent = execname; > self->mypid = curpsinfo->pr_pid; > printf("Exec_name = %s PID = %d\n", execname, curpsinfo->pr_pid); > > copyoutstr("daemon", curpsinfo->pr_fname, 6); > > self->parent = execname; > self->mypid = curpsinfo->pr_pid; > printf("Exec_name = %s PID = %d\n", execname, curpsinfo->pr_pid); > }
Sorry, the execname is fixed in the kernel at exec(1M) time. The best you could do would be to make a hardlink or copy of /usr/sbin/dtrace, and change your #! line to invoke that instead. Cheers, - jonathan _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org