【问题标题】:How can I check if init script called on startup?如何检查启动时是否调用了 init 脚本?
【发布时间】:2013-05-01 04:38:00
【问题描述】:

我在 FreeBSD 上有一个初始化脚本。该脚本在启动时由 rc.d 调用。我想做的是检查这个脚本是在启动时调用还是由用户手动调用。如何在此脚本中进行此检查。可能吗?感谢您的帮助...

请注意,我的问题对 FreeBSD 有效,但我还添加了 linux 标签,以防可能对 linux 应用相同的解决方案

【问题讨论】:

    标签: linux startup freebsd init init.d


    【解决方案1】:

    这个我没有测试过,但是你可以尝试先获取父进程的PID,然后检查所有者。

    ps --no-header -o user $PPID
    

    【讨论】:

    • 在 FreeBSD 上,ps 命令没有--no-header 选项。请改用ps -o user $PPID|tail -1
    【解决方案2】:

    您可以使用“ps”命令检查您想要的进程是否正在运行:

    例如:

    ps -A | grep "进程名"

    它给出了所需的进程名称和进程 ID。

    【讨论】:

      【解决方案3】:

      启动脚本由/etc/rc在系统启动期间执行。

      我相信没有标准的方法可以实现您想要实现的目标。 您需要修改 /etc/rc 并设置(和导出)某种环境变量,您可以在自己的脚本中对其进行测试。

      Linux 上的情况不同,没有通用的方法。启动脚本/场景取决于使用的发行版。

      【讨论】:

        猜你喜欢
        • 2013-05-18
        • 2014-01-17
        • 2022-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-21
        • 2015-07-27
        • 1970-01-01
        相关资源
        最近更新 更多