roy*_*roy 4 linux startupscript systemd
我正在尝试为flume创建systemd服务文件,创建/etc/systemd/system/flume-ng.service了以下内容
[Unit]
Description=Apache Flume
[Service]
Environment=FLUME_CLASSPATH=/opt/flume/current/lib/
ExecStart=/usr/bin/nohup /usr/bin/flume-ng agent -c /etc/flume-ng/conf -f /etc/flume-ng/conf/flume.conf --name a1 &
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
哪些启动了水槽服务,但我如何将其作为服务停止?
在这种情况下,我不得不用PID杀死.
谢谢
你可以执行systemctl stop flume-ng.service.执行时,默认操作是发送SIGTERM到主进程并等待可配置的时间以查看进程是否已终止.如果进程没有终止,则systemd发送SIGKILL执行该作业的信号.如果主进程已经分离出其他进程,systemd也将把它们关闭,因为它们都存在于同一个cgroup中.
ExecStop=除非您有不同的关闭服务的方法,否则您不需要拥有指令.
您需要ExecStop在该[Service]部分的选项中添加要用于停止服务的命令。
就像是:
[Service]
Environment=FLUME_CLASSPATH=/opt/flume/current/lib/
ExecStart=/usr/bin/nohup /usr/bin/flume-ng agent -c /etc/flume-ng/conf -f /etc/flume-ng/conf/flume.conf --name a1 &
ExecStop=/usr/bin/flume-ng agent stop
Run Code Online (Sandbox Code Playgroud)
或任何命令停止 flume-ng
然后,您可以通过停止服务systemctl stop flume-ng。
阅读位于https://www.freedesktop.org/software/systemd/man/systemd.service.html的手册,以获取可用于控制服务的全套选项。
| 归档时间: |
|
| 查看次数: |
9664 次 |
| 最近记录: |