linux - 使用环境变量的系统服务配置

标签 linux systemd

如何使用环境变量设置内存限制 我试过像这样使用变量 MY_LIMIT 来设置 MemoryLimit 字段, 服务配置:

[Unit]
Description=Blabla

[Service]
Environment="MY_LIMIT=1024"
MemoryLimit=$MY_LIMIT
ExecStart=script.sh

但这似乎行不通 正如我们所见

sudo systemctl show myservice

显示 MemoryLimit 是用这个值赋值的

MemoryLimit=18446744073709551615

最佳答案

systemd has an Environment directive which sets environment variables for executed processes. [source][1]

因此,当在 MemoryLimit 中设置时,您的 MY_LIMIT 将不会被解释。

此外,MemoryLimit 已弃用,请改用 MemoryMax=。 [来源][2]

所以你应该设置的是:MemoryMax=1024M

关于linux - 使用环境变量的系统服务配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43208727/

相关文章:

linux - 是什么在拖延我的 systemd 用户计时器?

service - systemctl enable 有效,但 systemctl --user enable 无效

linux - 如何从 Top 捕获 CPU 空闲时间

c - malloc 和 struct 的段错误(核心已转储)

python - 访问 MIB 对象

c - C中两个日期之间的差异

python - 如何在 Ubuntu 中查看 systemd 服务日志

mongodb - RHEL7 systemd自动启动mongo服务?

python - Systemd - Python 脚本主进程退出,code=exited,status=1/FAILURE

linux - Ubuntu 16.04 -(Python 的 Oracle 模块) - 如何安装 'cx_Oracle' 模块的简便方法?