下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看% s1 a$ c& ~ W6 r, T. E7 e
{9 h9 ?& s0 b) \; _- x \
#!/bin/sh- g; V; u( U7 P
; ~( B: o3 X& [4 d6 y* E1 c8 X
mount_dev() {
1 p+ h) l U& K# g5 U DEVNAME="$(basename $DEVPATH)"
9 y9 r& o. u# k3 K4 i* C MOUNT_ROOT="/mnt/usb"
3 J& w" k9 S0 u# echo "mount $DEVNAME"
( E1 f5 R' m" d# B4 c# sleep 2
6 A/ p+ L& V7 c: E9 B0 c1 ?" {& R mkdir -p $MOUNT_ROOT/$DEVNAME" J( [+ h; {: a# d
if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO1 R7 ]. ?. o( R
[ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME! A; R% O1 i) b0 ^( c
echo "usb=on" > /proc/ledStatus4 V+ b6 Y- ^* T6 z `1 c
echo 1 > /proc/monitor, G; \1 i0 u6 l/ H# _6 m$ e
fi
& ?3 b- \3 X7 y& f+ ?9 S! \}$ _1 ?# e! J; \! M3 [
! ~* \; q" F$ |8 Qhandle_block() {. L, H, k$ g" u9 ~7 e# N6 ~4 x
case $ACTION.$DEVPATH in% h' r& M$ z0 f8 P
add./block/sd?/sd?1)
3 r5 e* n8 w4 X% m) l& B6 b: d mount_dev
7 L1 o; s7 f( J, c# f exit 0! ?0 G! y- m! D3 j- g& R- r
;;
" u- \ Q$ [" B/ V6 K$ ` esac
5 u( ~2 _1 h- z0 F1 P3 e}# w* _6 G6 z: }, K# D
- Z2 w7 V1 m" }' [% ^+ i, T
kill_prgm() {
7 F2 ~$ Y. H7 q9 [ count=0
1 z5 J- q* Q' w4 g3 U while [ $count -lt 5 ]; do- ~: P/ V3 e- _
ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break( M9 N: ?9 G! O$ e6 s0 W* F" y! X- [
killall $1 v7 H/ ^# L- L1 L; B$ c# L
# echo $1
& ~3 R3 L8 X6 S1 m3 J sleep 3
$ c" P* i; O1 C/ Z, }7 \ count=$(($count+1))
, |9 o6 A4 h3 `; S8 Y/ G) _ done
0 W: m( ]; W+ I9 T$ W: _}7 K4 _% [" R/ a. p. X$ u
5 g7 g4 [: ?- j. W. d# z- s
unmount_dev() {2 b; u/ A r* y9 w" r: a. C/ B
echo "usb=blinkfast" > /proc/ledStatus
) r8 z. v- S: ~: h( \ for prgm in amuled rtorrent screen transmission-daemon; do/ J! Q, u, o. O2 a% m7 u
kill_prgm $prgm! \" g& k! ^" H& H# v
done
" v# {4 K c7 P) U# c/ K; R
; ]" _7 Y- _7 }* u, I for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do
5 [; I% i. ^0 f9 G c if ! swapoff $loop || ! losetup -d $loop; then* B$ r2 z3 g5 y: V( Y- w, L
echo "usb=on" > /proc/ledStatus5 X1 s r$ q) V; u
exit 1
9 P: Z) K7 g& Z fi
+ ~4 f8 p% P) y8 S/ ` done
/ w* o4 X: E! U! t, u1 }: h7 j; A: f4 u# ~6 J' ?; e/ V
echo 1 > /proc/monitor
" E/ `- u V1 ?5 w. @ echo "usb=off" > /proc/ledStatus
6 O2 P8 e( m" S}
$ h5 p- y7 X" o4 L( D3 i; N* l% x5 O' L1 y
handle_button() {
: i, p- H( f1 ~" s# c if [ "$ACTION" = "pressed" ]; then7 G. X% z: n) a
case $BUTTON in
# W& U) _6 g" p2 F; D wps) unmount_dev;;1 q: D- u+ Q# r; r) ~- `4 z
wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni% I% G8 g) Z5 i, A( Z2 q( A9 q
esac2 q8 v) N: p2 v
fi3 M! {* D+ {3 C; t; s
exit 0
; H5 R7 C* T: t% D- O8 S: R}
- W+ y$ E$ C% U$ |4 {. {* _' G! o2 b* E# d) H. N8 x
if [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then+ V5 D- E& O/ ?, F
exit 02 n' P c# E0 O! A
fi3 t2 M0 Z9 g5 k( x* V! H3 H
#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog
( d: n: ~5 u r! ^1 F. W1 @& t- ]$ @0 P0 @
case $1 in
; @. ]1 _ L, q$ [ ]) H s block) handle_block;;2 ~- b. [: V) b2 t8 C* c. W. l3 o
button) handle_button;;. F+ O* s) j+ C, Q5 }+ |
esac }8 ~1 n% }/ N# m$ @& S3 @& d
! Y' F5 `" ? D3 K8 l" j- @7 v/sbin/hotplug $@ |