if [ -d ~/Desktop ]; then
OUTDIR=~/Desktop
elif [ "`readlink /tmp`" = "private/var/tmp" ]; then
- OUTDIR=/Library/Logs/CrashReporter
+ OUTDIR=/Library/Logs/DiagnosticReports
+ if [ ! -d /Library/Logs/DiagnosticReports -a -d /Library/Logs/CrashReporter ]; then
+ OUTDIR=/Library/Logs/CrashReporter
+ fi
mkdir -p ${OUTDIR}
fi
fi
#
# collect packet capture with kernel ring buffer if available
#
+stop_pcap () {
+ #
+ # Stop the packet capture
+ #
+ if [ ${PCAP_STARTED} -ne 0 ]; then
+ trap '' SIGINT
+ /usr/local/bin/netdiagnose stop packetcapture 2>&1
+ PCAP_STARTED=0
+ fi
+}
+
+PCAP_STARTED=0
if [ -x /usr/local/bin/netdiagnose -a ${NO_PCAP} -ne 1 ]; then
+ trap stop_pcap SIGINT
/usr/local/bin/netdiagnose -p "${WORKDIR}" start packetcapture 2>&1
+ PCAP_STARTED=1
fi
#
# get-network-info
#
if [ -x /System/Library/Frameworks/SystemConfiguration.framework/Resources/get-network-info ]; then
- /System/Library/Frameworks/SystemConfiguration.framework/Resources/get-network-info -s -c -P "${WORKDIR}"
+ /bin/sh /System/Library/Frameworks/SystemConfiguration.framework/Resources/get-network-info -s -c -P "${WORKDIR}"
elif [ -x /System/Library/Frameworks/SystemConfiguration.framework/get-network-info ]; then
- /System/Library/Frameworks/SystemConfiguration.framework/get-network-info -s -c -P "${WORKDIR}"
+ /bin/sh /System/Library/Frameworks/SystemConfiguration.framework/get-network-info -s -c -P "${WORKDIR}"
elif [ -x /System/Library/PrivateFrameworks/SystemConfiguration.framework/get-network-info ]; then
- /System/Library/PrivateFrameworks/SystemConfiguration.framework/get-network-info -s -c -P "${WORKDIR}"
+ /bin/sh /System/Library/PrivateFrameworks/SystemConfiguration.framework/get-network-info -s -c -P "${WORKDIR}"
fi
#
# open files
#
if [ -x /usr/sbin/lsof ]; then
- ${PRIV} /usr/sbin/lsof -n -O -P -T q > lsof 2>&1 &
+ ${PRIV} /usr/sbin/lsof +c 0 -n -O -P -T q > lsof 2>&1 &
LSOF_PID=$!
# Init a watchdog for lsof
(
N=`expr ${N} + 1`
echo "#" >> system-statistics
- ${PRIV} /usr/sbin/lsof -- ${lock} >> system-statistics 2>&1
+ ${PRIV} /usr/sbin/lsof +c 0 -- ${lock} >> system-statistics 2>&1
done
fi
#
# Stop the packet capture
#
-if [ -x /usr/local/bin/netdiagnose -a ${NO_PCAP} -ne 1 ]; then
- /usr/local/bin/netdiagnose stop packetcapture 2>&1
-fi
+stop_pcap
if [ $NO_TAR -eq 0 ]; then
#