xref: /freebsd/cddl/usr.sbin/dwatch/libexec/kill (revision a061d97027874bf51498868eec14ac65a6be770a)
1# -*- tab-width: 4 -*- ;; Emacs
2# vi: set filetype=sh tabstop=8 shiftwidth=8 noexpandtab :: Vi/ViM
3############################################################ IDENT(1)
4#
5# $Title: dwatch(8) module for kill(2) [or similar] entry $
6# $Copyright: 2014-2018 Devin Teske. All rights reserved. $
7# $FreeBSD$
8#
9############################################################ DESCRIPTION
10#
11# Print arguments being passed to kill(2) [or similar]
12#
13############################################################ PROBE
14
15: ${PROBE:=syscall::$PROFILE:entry}
16
17############################################################ ACTIONS
18
19exec 9<<EOF
20this int	sig;
21this pid_t	pid;
22
23$PROBE /* probe ID $ID */
24{${TRACE:+
25	printf("<$ID>");}
26	this->pid = (pid_t)arg0;
27	this->sig = (int)arg1;
28}
29EOF
30ACTIONS=$( cat <&9 )
31ID=$(( $ID + 1 ))
32
33############################################################ EVENT DETAILS
34
35if [ ! "$CUSTOM_DETAILS" ]; then
36exec 9<<EOF
37	/*
38	 * Print signal/pid details
39	 */
40	printf("signal %i to pid %d", this->sig, this->pid);
41EOF
42EVENT_DETAILS=$( cat <&9 )
43fi
44
45################################################################################
46# END
47################################################################################
48