Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Debian Linux autostart netcat脚本获胜';自动启动?_Linux_Bash_Debian_Netcat - Fatal编程技术网

为什么Debian Linux autostart netcat脚本获胜';自动启动?

为什么Debian Linux autostart netcat脚本获胜';自动启动?,linux,bash,debian,netcat,Linux,Bash,Debian,Netcat,我在rc.local中放置了一个指向脚本的链接,以便在linux debian引导下自动启动它。它在while循环处启动然后停止。它是一个netcat脚本,在端口4001上永久侦听 echo "Start" while read -r line do #some stuff to do done < <(nc -l -p 4001) rc.local启动我的脚本“SQLScripts” SQLScripts #! /bin/sh # The fo

我在rc.local中放置了一个指向脚本的链接,以便在linux debian引导下自动启动它。它在while循环处启动然后停止。它是一个netcat脚本,在端口4001上永久侦听

echo "Start"

while read -r line
do

    #some stuff to do

done < <(nc -l -p 4001)
rc.local启动我的脚本“SQLScripts”

SQLScripts

#! /bin/sh

# The following part always gets executed.
echo "Starting SQL Scripts" >> /var/log/SQLScriptsStart
/etc/samba/PLCCheck >> /var/log/PLCCheck &
“SQLScripts”启动“PLCCheck”(例如仅一个)

PLCCheck

#!/bin/bash

echo "before SLEEP" >> /var/log/PLCCheck
sleep 5
echo "after SLEEP" >> /var/log/PLCCheck

echo "vor While" >> /var/log/PLCCheck

while read -r line
do

    echo "in While" >> /var/log/PLCCheck

done < <(netcat -u -l -p  6001)
#/bin/bash
回显“睡眠前”>>/var/log/PLCCheck
睡眠5
回显“睡眠后”>>/var/log/PLCCheck
回声“vor While”>>/var/log/PLCCheck
而read-r行
做
echo“in While”>>/var/log/PLCCheck

在rc脚本中,默认情况下,您具有根级别的访问权限。“它在while循环中停止”是什么意思?一段时间后就结束了?我想您需要在后台运行循环,以实现autostart脚本中常见的功能:

echo "Starting"

( while read -r line
do

    #some stuff to do

done << (nc -l -p 4001) ) &

echo "Started with pid $( jobs -p )"
echo“启动”
(读取时-r行)
做
#有些事要做

我已完成将所有回音写入日志文件。当我重新启动时,我的日志文件看起来是这样的:当我查看我的进程时启动myscript没有出现。因此我认为它已停止。但是…rc脚本应该尽快终止。它们旨在启动后台运行的进程,因此使用myscript显然是个坏主意内的nfinite循环。你尝试过我的mods吗?是的。我尝试过你的解决方案,但它不起作用。查看我上面的帖子,了解我在脚本中所做的更改。
echo "Starting"

( while read -r line
do

    #some stuff to do

done << (nc -l -p 4001) ) &

echo "Started with pid $( jobs -p )"