如何在启动“服务”时传递标志?

如何在启动“服务”时传递标志?

我使用命令来sudo service memcached start在重启后打开各种东西,我想知道是否也可以告诉这个服务启动 memcached 以某些标志启动,例如 -vvv?

有什么想法吗?(当我通过 apt-get 安装时,‘服务’会自动创建)

答案1

您通常使用 /etc 中的文件来配置此类服务。对于此特定软件包,请查看

/etc/default/memcached

此外,阅读 memcached 的手册页通常会向您显示配置文件的位置。

答案2

经过长时间的搜索,似乎您必须向 /etc/memcached.conf 添加标志

答案3

Kubernete 的文档要求您始终将参数传递给 systemd 服务。

糟糕的是,Linux 的每个实现/风格/发行版都不同,并且安装在不同的地方!
最重要的是,Kubernetes 的每个实现/风格/安装方法也不同!!
然后,因为这还不足以处理 systemd 还有 5 种不同的传递标志/参数的方法!!!

因此,最好的方法似乎是:
使用 find 命令查找 *.service 的位置,但这并不总是有效,因为 systemd 的某些实现不需要您在 *.service 文件中传递参数,但如果您使用 find 命令搜索服务名称,您可能会找到传递 EXTRA_ARG 的配置文件,因此我认为 find 命令是 Linux 新手的最佳方法。除此之外,您还需要深入研究并真正了解 systemd/所有 5 种传递参数的不同方法的来龙去脉。

WorkerNodeBash# find / -name "*.service" | grep -i "kube"
WorkerNodeBash# nano /etc/systemd/system/kubelet.service

[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=containerd.service
Requires=containerd.service

[Service]
ExecStart=/usr/local/bin/kubelet \
  --config=/var/lib/kubelet/kubelet-config.yaml \
  --container-runtime=remote \
  --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock \
  --image-pull-progress-deadline=2m \
  --kubeconfig=/var/lib/kubelet/kubeconfig \
  --network-plugin=cni \
  --register-node=true \
  --pod-manifest-path=/etc/kubernetes/manifests \
  --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

(以上内容来自 Kubernetes 的艰难实现,我也完成了 kubeadm 实现并查看了同一个文件,没有看到参数,并且当我尝试传递参数时它们被忽略了?但是由于学会了如何使用 find 命令,我能够搜索:
WorkerNodeBash# find / -type f -name "*.yaml" | grep "kube"
我找到了一个提到 KUBELET_EXTRA_ARGS= 的配置文件,并将它们传递到那里。

相关内容