linux,守护进程启动,确定是否由initd或用户启动

linux,守护进程启动,确定是否由initd或用户启动

在我的 /etc/init.d/blabla 脚本中,哪种方法是正确的,以确定系统是否正在启动或用户 root 是否正在运行脚本?

我正在考虑* 父 pid * euid * 终端... pts?

答案1

在传统的 init(不是 systemd)上,您的脚本将$0类似于Sxxblabla由 init 运行时的内容,其中xx有两位数字。

当由用户运行时,通常会设置很多环境变量,例如USERHOME等等,这些变量在从 init 运行时不会设置。

请注意,一般来说,您希望在 shell 中运行命令和在启动时运行命令的效果尽可能相同。否则,从命令行测试可能没问题,但在启动时会出错。

相关内容