关于 shell 脚本后台执行的问题

我写了如下脚本:

#!/bin/bash
while true
do
    killall 'nc' >/dev/null 2>&1

    nc -l 10010| while read LINE
    do
        pass=`cat /dev/urandom | head -1 | md5sum | head -c 8`
        echo $LINE >> shell.out 2>&1
        echo $pass >> shell.out 2>&1
        killall 'nc' >/dev/null 2>&1
    done
done

我想完成的任务是 nc 能够持续监听10010端口,然后按照需要去做一些事情。在A机上,利用 & 把该脚本放到后台运行,在B机上另一台服务器 同样用nc 命令,能够完美配合。但是当我退出 A机 console 之后,事情似乎就不受控制了,脚本、nc都在运行,但无法完成监听任务。

请问,这是为啥。

阅读 8k
2 个回答

当我们注销或者屏保后,使用&的脚本就会自动停止。
可以试下 nohup 命令

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进