And*_*nro 6 bash pipe background-process daemon
我正在尝试构建一个监视脚本来使用 netcat 监视本地主机通信。我已经构建了两个脚本,一个用于启动监控循环,另一个用于循环本身。它们如下:
启动文件
#!/bin/bash
netcat localhost 1099 | bash loop.sh &
Run Code Online (Sandbox Code Playgroud)
循环文件
#!/bin/bash
while read sInput; do
...do something with $sInput
done
Run Code Online (Sandbox Code Playgroud)
只需在没有前台的情况下运行此应用程序就可以正常工作,但是一旦我尝试在后台运行此脚本,它就会立即从运行变为停止。有人可以告诉我为什么会发生这种情况以及如何缓解问题。
我的最终目标是拥有一个 bash 脚本,我可以用它创建一个 arch linux 守护进程脚本,并使一切正常运行。感谢您的帮助。
听起来像是从标准输入(stdin)读取。尝试将-d
(不要尝试从标准输入读取)选项添加到netcat
. 或者在命令行上重定向:
netcat localhost 1099 <&- | bash loop.sh &
Run Code Online (Sandbox Code Playgroud)
您可能还想使用它nohup
来确保当/如果您在该 shell 停止之前退出该 shell 时它不会受到不利影响。
归档时间: |
|
查看次数: |
9640 次 |
最近记录: |