![如何禁用 Systemd 的特定进程(在我的例子中为 Syslog-ng)的核心转储](https://linux22.com/image/226471/%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8%20Systemd%20%E7%9A%84%E7%89%B9%E5%AE%9A%E8%BF%9B%E7%A8%8B%EF%BC%88%E5%9C%A8%E6%88%91%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E4%B8%BA%20Syslog-ng%EF%BC%89%E7%9A%84%E6%A0%B8%E5%BF%83%E8%BD%AC%E5%82%A8.png)
我想永久禁用 systemd 特定进程/服务的核心转储生成。
答案1
根据建筑维基百科,运行syslog-ng的systemd服务[email protected]
在Arch中被命名。
运行,然后输入以下行:systemctl edit [email protected]
[Service]
LimitCORE=0
然后保存退出。运行使设置立即生效。systemctl restart [email protected]
但 syslog-ng 正在生成核心转储的事实意味着syslog-ng 崩溃了。这种情况一开始就不应该发生,并且禁用核心转储也不会阻止这种情况。
Syslog-ng是一个非常成熟的程序,因此它应该非常稳定。
- 您安装的 syslog-ng 可能在磁盘上以某种方式损坏;如果是这样,重新安装可能会修复它。
- 如果您的系统出现 RAM 故障或其他硬件故障,则可能会导致正在运行的程序损坏并崩溃:由于 syslog-ng 在引导过程中很早就启动,因此它本质上可能始终会到达大约相同的内存位置。如果该内存出现故障,可能会导致崩溃并导致核心转储……但如果其他程序最终使用相同的错误内存位置,它们也会崩溃。
- 如果您的系统被黑客攻击,或者被恶意软件感染,入侵者可能会主动导致您的 syslog-ng 崩溃,以避免入侵者的操作被记录下来。如果您怀疑发生了这种情况,完全重新安装是绝对确保入侵者/恶意软件所做的所有更改都消失的唯一方法。