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