我有一个脚本来启动和分叉一个 netcat 进程。过了一会儿,netcat 进程停止记录输出。远程计算机应该连接到套接字并每隔几个小时发送一条消息,但似乎 netcat 进程在一段时间后死亡/停止,因为在守护进程启动后的一小时内通常只有一条来自远程的消息,然后不再关注。我确保遥控器没有将信息发送到套接字不是问题;所以这似乎与 netcat 进程消失有关。当我在上面运行时,该进程仍然存在,但是如果我尝试手动连接到套接字并发送一些东西,它不会将它记录到输出文件中。
dstart(){
if [ -f /run/mynetcat.pid ]; then
echo "Netcat instance running on "$(cat /run/mynetcat.pid)
exit 1
else
echo "Starting Netcat instance"
mkdir -p /var/log/mynetcat/
(setsid nc -l -k -p 25001 >> /var/log/mynetcat/mynetcat.log 2> /var/log/mynetcat/mynetcat.err & echo $! > /run/mynetcat.pid)&
return 0
fi
}
###later on in the script
case "$1" in
start)
dstart
;;