我创建了以下服务amos.service,它需要作为amos运行(amos组的成员)
[Unit]
Description=AMOS Service
After=network.target
[Service]
User=amos
Group=amos
Type=simple
WorkingDirectory=/usr/share/amos
ExecStart=/usr/share/amos/amos_service.sh start
ExecStop=/usr/share/amos/amos_service.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
所有权限都已设置/usr/share/amos
为amos:amos
amos_service.sh如下:
#!/bin/bash
CUDIR=$(dirname "$0")
cd /usr/share/amos
start() {
exec /usr/share/amos/run_amos.sh >> /var/log/amos.log 2>&1
}
stop() {
exec pkill java
}
case $1 in
start|stop) "$1" ;;
esac
cd "$CURDIR"
当我最初运行该服务而未对目录进行任何修改(即,属于root)和amos.service没有User not Group参数时,一切运行良好!
将目录权限更改为amos:amos并添加amos.service用户和组后,该服务将不起作用,并且我得到以下信息:请参见附件图像
就记录到/var/log/amos.log的消息而言,成功案例和失败案例之间有什么区别(如果有)?
—
sourcejedi
另外,该配置是奇怪的,因为它
—
sourcejedi
/var/log
是root拥有的。我认为您想使用/var/log/amos/
由amos拥有的目录。
我将按照提及的方式创建并返回结果
—
-itprguy