我想创建一个简单的Linux守护进程......
\n
结束)foo
,则会运行命令bar
bar
命令完成后(或者如果该行不是foo
),守护进程将等待另一个连接并执行相同的操作(在无限循环中)... 有可能用bash写这个吗? (怎么样?)
另外,我希望能够使用service my-foobar-daemon start / stop
启动和停止脚本(在Ubuntu上),我该怎么做?
谢谢:)
答案 0 :(得分:1)
以下代码段使用bash
和nc
来实现要求:
#! /bin/bash
while true; do
coproc nc -l -p 8080
if read -u "${COPROC[0]}" line; then
case "$line" in
foo)
bar
;;
*)
echo "$line: unknown command" >&2
;;
esac
fi
kill "$COPROC_PID"
wait "$COPROC_PID"
done
答案 1 :(得分:0)
#! /bin/bash
coproc nc -l -p 8080
while true; do
if read -u "${COPROC[0]}" line; then
case "$line" in
foo)
bar
break
;;
*)
echo "$line: unknown command" >&2
;;
esac
fi
done
kill "$COPROC_PID"