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

Reply via email to