在我的 /etc/init.d/blabla 脚本中,哪种方法是正确的,以确定系统是否正在启动或用户 root 是否正在运行脚本?
我正在考虑* 父 pid * euid * 终端... pts?
答案1
在传统的 init(不是 systemd)上,您的脚本将$0
类似于Sxxblabla
由 init 运行时的内容,其中xx
有两位数字。
当由用户运行时,通常会设置很多环境变量,例如USER
,HOME
等等,这些变量在从 init 运行时不会设置。
请注意,一般来说,您希望在 shell 中运行命令和在启动时运行命令的效果尽可能相同。否则,从命令行测试可能没问题,但在启动时会出错。