【问题标题】:Adding a shell command inside/inline of a systemd service file在 systemd 服务文件的内部/内联添加 shell 命令
【发布时间】:2018-06-22 12:37:07
【问题描述】:

我正在通过 systemd 将 gunicorn 服务器作为服务运行,这是示例 service 文件:

[Unit]
Description=Gunicorn NGINX
After=network.target

[Service]
User=root
Group=www-data
WorkingDirectory=/test
ExecStart=/usr/local/bin/gunicorn --workers 8 --threads 8 --backlog 100 --bind 10.0.0.20:5000 -m 777 abc:app
Restart=always

[Install]
WantedBy=multi-user.target

我现在想使用 shell 命令将 --workers--threads 附近的数字替换为内核数,以便动态选择内核数

nproc --all

有人能帮我怎么做吗

【问题讨论】:

    标签: linux centos systemd


    【解决方案1】:

    您可以显式调用 shell 以获取 shell 解析。

    ExecStart=/bin/bash -c '/usr/local/bin/gunicorn --workers "$(nproc --all)" --threads "$(nproc --all)" --backlog 100 --bind 10.0.0.20:5000 -m 777 abc:app'
    

    【讨论】:

    • 很抱歉给您带来了麻烦,但您能告诉我该怎么做吗--threads "$(nproc --all)" * 4
    • @Venkata S S K M Chaitanya 有点复杂(如果需要):--threads "$((($(nproc --all) * 2) + 1))"
    猜你喜欢
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-12
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多