【发布时间】:2013-05-01 04:38:00
【问题描述】:
我在 FreeBSD 上有一个初始化脚本。该脚本在启动时由 rc.d 调用。我想做的是检查这个脚本是在启动时调用还是由用户手动调用。如何在此脚本中进行此检查。可能吗?感谢您的帮助...
请注意,我的问题对 FreeBSD 有效,但我还添加了 linux 标签,以防可能对 linux 应用相同的解决方案
【问题讨论】:
标签: linux startup freebsd init init.d
我在 FreeBSD 上有一个初始化脚本。该脚本在启动时由 rc.d 调用。我想做的是检查这个脚本是在启动时调用还是由用户手动调用。如何在此脚本中进行此检查。可能吗?感谢您的帮助...
请注意,我的问题对 FreeBSD 有效,但我还添加了 linux 标签,以防可能对 linux 应用相同的解决方案
【问题讨论】:
标签: linux startup freebsd init init.d
这个我没有测试过,但是你可以尝试先获取父进程的PID,然后检查所有者。
ps --no-header -o user $PPID
【讨论】:
ps 命令没有--no-header 选项。请改用ps -o user $PPID|tail -1。
您可以使用“ps”命令检查您想要的进程是否正在运行:
例如:
ps -A | grep "进程名"
它给出了所需的进程名称和进程 ID。
【讨论】:
启动脚本由/etc/rc在系统启动期间执行。
我相信没有标准的方法可以实现您想要实现的目标。
您需要修改 /etc/rc 并设置(和导出)某种环境变量,您可以在自己的脚本中对其进行测试。
Linux 上的情况不同,没有通用的方法。启动脚本/场景取决于使用的发行版。
【讨论】: