我有一个脚本,/etc/init.d
我正在尝试添加echo
语句...但我的所有更改似乎都被忽略。
我猜测是因为脚本本身并未实际运行,而是systemd
在幕后做一些事情来继续运行旧版本的脚本。有没有办法“加载”这些更改?
答案1
不,没有办法systemd
加载您对文件所做的更改,/etc/init.d
因为systemd
无论如何基本上都会忽略这些文件。查看血淋淋的细节systemd 如何使用 /etc/init.d 脚本?。
考虑通过编辑 /etc/init.d 文件针对您试图解决的特定问题提出不同的问题。
我猜你可能正在寻找ExecStartPre=
或ExecStartPost=
。阅读man systemd.service
可在 systemd 服务单元文件中使用的其他指令。
答案2
你走在正确的轨道上。您需要使用以下命令重新加载 systemd 的上下文:
sudo systemctl daemon-reload
在 SysV 时代,这要容易得多:)