| Server IP : 193.86.120.172 / Your IP : 216.73.216.67 Web Server : Apache/2.4.63 (Unix) System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64 User : kubec ( 1026) PHP Version : 8.2.28 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /proc/29147/root/etc/ |
Upload File : |
#!/bin/sh
# Copyright (c) 2000-2015 Synology Inc. All rights reserved.
#
# After all services down and before umount,
# check which process does not release device(volume, lun)
. /etc.defaults/rc.subr
SZF_DEVICE_BUSY_LIST="/var/log/DeviceBusyList"
PROC_OCCUPY_VOL=`find /proc/*/fd -type l \
| xargs ls -l 2>&1 \
| grep -v 'No such file or directory' \
| grep '/volume[0-9]*/'
`
VOL_DEV_LIST=`cat /proc/mounts \
| grep " /volume[0-9]* " | cut -d' ' -f1 \
| xargs -r ls -lL | awk '{print $5 $6}' | tr ',' ' ' | xargs -r printf "-e '%02x:%02x' "
`
if [ -n "$VOL_DEV_LIST" ]; then
SO_OCCUPY_VOL=`cat /proc/*/maps | sh -c "grep $VOL_DEV_LIST"`
fi
ISCSI_BLK_LUN=`cat /sys/kernel/config/target/core/iblock_*/*/udev_path 2>/dev/null`
if [ -n "$PROC_OCCUPY_VOL" ] || [ -n "$SO_OCCUPY_VOL" ] || [ -n "$ISCSI_BLK_LUN" ]; then
/bin/rm -f $SZF_DEVICE_BUSY_LIST
/bin/date >> $SZF_DEVICE_BUSY_LIST
echo "$PROC_OCCUPY_VOL" >> $SZF_DEVICE_BUSY_LIST
echo "$SO_OCCUPY_VOL" >> $SZF_DEVICE_BUSY_LIST
echo "$ISCSI_BLK_LUN" >> $SZF_DEVICE_BUSY_LIST
echo >> $SZF_DEVICE_BUSY_LIST
ps axjfw >> $SZF_DEVICE_BUSY_LIST
dump_D_process_call_stack >> $SZF_DEVICE_BUSY_LIST
echo -e "\nsystemctl list-jobs:" >> $SZF_DEVICE_BUSY_LIST
/bin/systemctl list-jobs >> $SZF_DEVICE_BUSY_LIST
/usr/bin/logger -p err "Check device busy: error, refer: ${SZF_DEVICE_BUSY_LIST}"
else
/usr/bin/logger -p err "Check device busy: passed"
fi
exit 0