下面是我的hotplug-call的内容,我发现里面挂在位置都是/mnt/usb/sda1,多了个usb,不知道是否是因为这个所以出问题,请楼主帮忙看看' G4 _3 H' k) S4 x+ F
% S) x% O! E& H4 c5 A7 {7 Y5 W: _. h: D% k#!/bin/sh
. n L) F6 V) h2 s$ U7 M; J, G
0 H) c# u1 g1 \- M- @/ _mount_dev() {# s# O! \/ w! F9 {# i6 J
DEVNAME="$(basename $DEVPATH)"5 O0 R" }- V c9 j: Z, p
MOUNT_ROOT="/mnt/usb"/ P1 o8 f$ p! Z0 r0 }# J9 W4 k
# echo "mount $DEVNAME"
6 g1 h7 S1 a* ~( c+ u# sleep 2
1 {) B2 F8 g, w% z0 d* A& t4 Z mkdir -p $MOUNT_ROOT/$DEVNAME# l. M& w. p) C- c( B* N
if mount /dev/$DEVNAME $MOUNT_ROOT/$DEVNAME || ntfs-3g /dev/$DEVNAME $MO. `5 {4 S3 }, E+ T: i
[ -x $MOUNT_ROOT/$DEVNAME/opt/etc/init ] && $MOUNT_ROOT/$DEVNAME
% L/ _& y0 M/ H _2 Y$ l' K echo "usb=on" > /proc/ledStatus
( k$ V; W: N& I0 x echo 1 > /proc/monitor
3 ~& O4 a5 Z- A+ O fi0 \$ k0 @; j1 e$ e( G
}7 F# B( U, Z2 K' i
+ C6 {, ?6 R7 v
handle_block() {
2 W: k# k/ z. |' g case $ACTION.$DEVPATH in
) F1 |; C$ J F add./block/sd?/sd?1)
6 W- z4 u4 p8 Z$ [1 Q4 w mount_dev
j! m" D- G* r8 v exit 0! }, ~/ ]& e1 T
;;+ ~7 N* B6 l A) X5 e
esac
* d9 y& ~9 \5 Y+ p1 A2 G$ @' J' C}
4 ]4 X$ F$ k6 y" @: y4 X/ N/ Z; @* v7 d
kill_prgm() {) ~, z5 i Q6 }4 G
count=0
$ v z8 I% W6 W, j ] while [ $count -lt 5 ]; do
4 P: @ p$ m: k ps | grep $1 | grep -v "grep" 1>/dev/null 2>/dev/null || break/ e5 Y1 Q2 p2 y2 z5 J
killall $1& {3 l6 C8 R! e& X
# echo $1
1 j% S0 H- M2 X5 m4 B sleep 3
& A' C# o& x. C1 b, W5 z+ v+ K1 ~& l count=$(($count+1))
" x8 q2 Y; ?3 m {& A, l% r5 t1 s3 | done
: K& P2 O( N( ]% @5 |1 D}
- M, {, w# d) U- K) f" t$ U6 {4 j% m- W/ |; R' V3 |
unmount_dev() {7 }5 H, x" f. Q8 D) y
echo "usb=blinkfast" > /proc/ledStatus
4 g* \& F) q2 s& t5 \+ N for prgm in amuled rtorrent screen transmission-daemon; do3 f' _6 j6 i9 c2 L+ ]! A! j
kill_prgm $prgm
6 G# o6 A# f8 x% i8 ` done
6 h' H7 [9 X4 s9 z) \7 }4 g* b4 E
for loop in $(grep "loop" /proc/swaps | cut -d ' ' -f1); do+ {' O% z+ b0 P- C4 h
if ! swapoff $loop || ! losetup -d $loop; then
0 \& X, e5 a, _' u6 e9 z- b3 B echo "usb=on" > /proc/ledStatus
! J9 R+ ~6 Z1 n: v exit 1
8 `4 G6 w! h2 D# F fi2 Y0 q$ ^/ [! L
done9 `! _6 d* a" l) F5 A
3 b& i8 L# d; {1 D& t) N! z echo 1 > /proc/monitor1 T* ?$ K4 A2 M' l; v, \
echo "usb=off" > /proc/ledStatus
! \$ ?( K$ L: X; d; h, Y G}% U7 V" ]! p0 S
( N1 e* `% R6 f6 K5 f
handle_button() {
) P5 E* U# R; k1 \4 z) X- B if [ "$ACTION" = "pressed" ]; then
R4 V# H8 A1 K# b0 \ case $BUTTON in
3 d; O9 o$ q) O: ~+ D1 }( [( S wps) unmount_dev;;2 w1 l, j: a/ T. L
wlan) echo "x" > /proc/wlanStatus && echo 1 > /proc/moni- S4 V, Q/ S5 K+ h) [ _
esac
* D" Y9 Z4 G- B! D6 u) d fi& k2 K# P, c8 a& I! r; |0 d
exit 0
5 Y S3 \. ]/ F6 v}1 c9 ^+ l, [4 ?. |+ x9 x, a
; @. Q+ B5 f3 S: J
if [ -x /opt/sbin/hotplug ] && /opt/sbin/hotplug $@; then
) w }8 l3 y7 C! ~ exit 00 }2 C. @9 f( A1 w6 @
fi( h; Z+ s1 M q7 M [$ v3 h, h
#echo $@,$SUBSYSTEM,$ACTION,$PRODUCT,$TYPE,$INTERFACE,$DEVPATH >> /tmp/hotlog% y) l: ?2 z. ?. K
' {7 ], y& S" F
case $1 in
# C5 Z% V! c% F. {% @% o" B block) handle_block;;6 `9 J S0 O, k {( ~9 _
button) handle_button;;
# K7 w8 {/ ]! v2 fesac
( \9 P) G; k* _# g# W9 S3 Q5 \
/sbin/hotplug $@ |