启动-停止-守护进程 - 奇怪的行为

启动-停止-守护进程 - 奇怪的行为

我的设置

有一个盒子,其中包含 NSLU2(又名“slug”),控制教堂供暖系统并运行 Slugos(本质上是 Linux 2.6.27.8 - IOT 往往运行有点古老的 Linuxen)。我使用 ssh 和 NFSv3 从家里访问它(因为 slugos 似乎不喜欢 NFSv4)。

NFSv3 的危险之一是远端路由器中的防火墙需要固定端口号安装统计数据。为了进行实验,我在家里的 LAN 上设置了一个相同的“slug”,观察到了以下行为。

问题

我已经到了那个状态rpcinfo -p给出:

program vers proto port service 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100021 1 udp 39590 nlockmgr 100021 3 udp 39590 nlockmgr 100021 4 udp 39590 nlockmgr 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100021 1 tcp 52524 nlockmgr 100021 3 tcp 52524 nlockmgr 100021 4 tcp 52524 nlockmgr 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100024 1 udp 7791 status 100024 1 tcp 7791 status

现在我开始安装mountd -f /etc/exports -p 7792添加以下内容

100005    1   udp   7792  mountd
100005    1   tcp   7792  mountd
100005    2   udp   7792  mountd
100005    2   tcp   7792  mountd
100005    3   udp   7792  mountd
100005    3   tcp   7792  mountd

这正是我想要的。现在将其放入适当的/etc/init.d文件,通常通过调用来完成

启动-停止-守护进程 --start --exec /usr/sbin/mountd --“-f /etc/exports -p 7792”

但这给了我

100005    1   tcp  47725  mountd
100005    2   udp  47909  mountd
100005    2   tcp  47725  mountd
100005    3   udp  47909  mountd
100005    3   tcp  47725  mountd

所以它忽略了-p 7792

毫无疑问我可以破解它,但怎么可能呢启动-停止-守护进程行为如此疯狂?

答案1

至少如果这是 Debian/Ubuntu 启动-停止-守护进程,您不应该引用这样的参数。

start-stop-daemon --start --exec /usr/sbin/mountd -- -f /etc/exports -p 7792

应该可以工作。 (当您引用它时,它会被发送到 mountd 作为命令行参数,而不是应有的四个。)

相关内容