summaryrefslogtreecommitdiff
path: root/ctdb/tests/UNIT/eventscripts/stubs/ps
blob: 744ba3becd87f1264523b48ca65a1c9399b98a13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh

usage ()
{
	echo "ps [ -p PID | -o FORMAT | aufxww ]"
	exit 1
}

while getopts "o:p:h:?" opt ; do
	case "$opt" in
	o) format="$OPTARG" ;;
	p) pid="$OPTARG" ;;
	\?|h) usage ;;
	esac
done
shift $((OPTIND - 1))

if [ -n "$pid" ] && [ -n "$FAKE_PS_MAP" ] ; then
	# shellcheck disable=SC1001
	case "$format" in
	comm\=)
		echo "$FAKE_PS_MAP" |
		awk -v pid="$pid" '$1 == pid { print $2 }'
		;;
	state\=)
		echo "$FAKE_PS_MAP" |
		awk -v pid="$pid" '$1 == pid { print $3 }'
		;;
	esac

	exit
fi

if [ "$1" != "auxfww" ] ; then
	echo "option $1 not supported"
	usage
fi

cat <<EOF
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         2  0.0  0.0      0     0 ?        S    Aug28   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Aug28   0:43  \_ [ksoftirqd/0]
...
root         1  0.0  0.0   2976   624 ?        Ss   Aug28   0:07 init [2]
root       495  0.0  0.0   3888  1640 ?        Ss   Aug28   0:00 udevd --daemon
...
[MORE FAKE ps OUTPUT]
EOF