Nó thực sự phụ thuộc vào bản thân hệ nhị phân sẽ làm gì.
Ví dụ, tôi muốn tạo một số người nghe.
Daemon bắt đầu là nhiệm vụ đơn giản:
lis_deamon:
#!/bin/bash
LISTENER_BIN=/tmp/deamon_test/listener
test -x $LISTENER_BIN || exit 5
PIDFILE=/tmp/deamon_test/listener.pid
case "$1" in
start)
echo -n "Starting Listener Deamon .... "
startproc -f -p $PIDFILE $LISTENER_BIN
echo "running"
;;
*)
echo "Usage: $0 start"
exit 1
;;
esac
đây là cách chúng tôi khởi động daemon (cách phổ biến cho tất cả nhân viên /etc/init.d/)
bây giờ đối với bản thân người nghe, Nó phải là một loại vòng lặp / cảnh báo nào đó nếu không sẽ kích hoạt kịch bản để làm những gì bạn muốn. Ví dụ: nếu bạn muốn kịch bản của bạn ngủ 10 phút và thức dậy và hỏi bạn rằng bạn đang làm như thế nào, bạn sẽ làm điều này với
while true ; do sleep 600 ; echo "How are u ? " ; done
Đây là trình lắng nghe đơn giản mà bạn có thể thực hiện sẽ lắng nghe các lệnh của bạn từ máy từ xa và thực thi chúng trên cục bộ:
thính giả :
#!/bin/bash
IP=$(hostname --ip-address)
PORT=1024
FILE=/tmp/backpipe
count=0
while [ -a $FILE ] ; do
FILE=$FILE.$count
count=$(($count + 1))
done
mknod $FILE p
while true ; do
netcat -l -s $IP -p $PORT < $FILE |/bin/bash > $FILE
done
rm $FILE
Vì vậy, để bắt đầu UP nó: / tmp / deamon_test / nghe bắt đầu
và để gửi các lệnh từ shell (hoặc bọc nó thành script):
test_host
uptime
20:01pm up 21 days 5:10, 44 users, load average: 0.62, 0.61, 0.60
date
Tue Jan 28 20:02:00 IST 2014
punt! (Cntrl+C)
Hy vọng điều này sẽ giúp ích.